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 SavedBlockHeader FromBlockHeader(BlockHeader header) { var savedHeader = new SavedBlockHeader { Bits = header.Bits.Difficulty, BlockTime = header.BlockTime.ToUnixTimeSeconds(), Time = header.Time, Nonce = header.Nonce, Version = header.Version, HashMerkleRoot = header.HashMerkleRoot.ToString(), HashPrevBlock = header.HashPrevBlock.ToString(), PosParameters = SavedPosParameters.FromPosParameters(header.PosParameters) }; return(savedHeader); }