public Block Build() { var txHashes = from tx in _transactions select tx.Hash; var merkleRoot = MerkleNode.GetRoot(txHashes); var header = new BlockHeader(Version, PreviousBlockHash, merkleRoot.Hash, Utils.DateTimeToUnixTime(Timestamp), Target, Nonce); return new Block(header, _transactions); }
public Block(BlockHeader header, IReadOnlyList<Transaction> transactions) { if(header == null) throw new ArgumentNullException("header"); if(transactions == null) throw new ArgumentNullException("transactions"); Header = header; Transactions = transactions; }