Esempio n. 1
0
        public static SavedBlock FromBlock(Block b)
        {
            var bl = new SavedBlock
            {
                Hash       = b.GetHash().ToString(),
                HeaderOnly = b.HeaderOnly,
                Header     = SavedBlockHeader.FromBlockHeader(b.Header),
            };
            var bstr = b.ToString();

            var transactions = bl.Transactions;

            foreach (var tx in b.Transactions)
            {
                var str  = tx.ToString();
                var str1 = tx.ToString(RawFormat.BlockExplorer);
                var str2 = tx.ToString(RawFormat.Satoshi);

                transactions.Add(SavedTransaction.FromTransaction(tx));
            }

            bl.BlockSignature = b.BlockSignatur.ToString();
            bl.Hash           = b.GetHash().ToString();
            bl.MerkleRoot     = b.GetMerkleRoot().ToString();
            bl.IsProofOfStake = b.IsProofOfStake();
            bl.IsProofOfWork  = b.IsProofOfWork();
            bl.Length         = b.Length;
            return(bl);
        }
Esempio n. 2
0
        public static SavedTransaction FromTransaction(Transaction tx)
        {
            var transaction = new SavedTransaction();

            transaction.HasWitness  = tx.HasWitness;
            transaction.IsCoinStake = tx.IsCoinStake;
            transaction.IsCoinBase  = tx.IsCoinBase;
            transaction.LockTime    = tx.LockTime.Value;
            transaction.RBF         = tx.RBF;
            transaction.Time        = tx.Time;
            transaction.TotalOut    = tx.TotalOut;
            transaction.Version     = tx.Version;

            var inputs = transaction.Inputs;

            foreach (var input in tx.Inputs)
            {
                inputs.Add(SavedTxIn.FromTxIn(input));
            }


            var outputs = transaction.Outputs;

            foreach (var output in tx.Outputs)
            {
                outputs.Add(SavedTxOut.FromTxOut(output));
            }

            return(transaction);
        }