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); }
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); }