public static BlockData Parse(Block block, ChainedBlock chainedBlock = null) { var blockData = new BlockData { Hash = block.GetHash().ToString() }; if (chainedBlock != null) { blockData.Height = chainedBlock.Height; blockData.ChainWork = chainedBlock.ChainWork.ToString(); } blockData.IsProofOfStake = block.IsProofOfStake(); blockData.IsProofOfWork = block.IsProofOfWork(); blockData.StakeEntropyBit = block.GetStakeEntropyBit(); //Header blockData.Header = BlockHeaderData.Parse(block.Header); //Transactions var transactions = new List <TransactionData>(); foreach (var tx in block.Transactions) { transactions.Add(TransactionData.Parse(tx)); } blockData.Transactions = transactions; blockData.Signature = block.BlockSignatur.ToString(); return(blockData); }
public static ChainedBlockData Parse(ChainedBlock block) { var chainedBlock = new ChainedBlockData { Hash = block.HashBlock.ToString(), ChainWork = block.ChainWork.ToString(), Height = block.Height, Previous = block.Previous.HashBlock.ToString(), Header = BlockHeaderData.Parse(block.Header) }; return(chainedBlock); }