コード例 #1
0
ファイル: SavedBlock.cs プロジェクト: Rajbandi/HashProof
        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);
        }
コード例 #2
0
ファイル: SavedBlock.cs プロジェクト: Rajbandi/HashProof
        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);
        }