block.cpp
1 // Copyright (c) 2009-2010 Satoshi Nakamoto 2 // Copyright (c) 2009-2019 The Bitcoin Core developers 3 // Distributed under the MIT software license, see the accompanying 4 // file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 6 #include <primitives/block.h> 7 8 #include <hash.h> 9 #include <tinyformat.h> 10 11 uint256 CBlockHeader::GetHash() const 12 { 13 return (HashWriter{} << *this).GetHash(); 14 } 15 16 std::string CBlock::ToString() const 17 { 18 std::stringstream s; 19 s << strprintf("CBlock(hash=%s, ver=0x%08x, hashPrevBlock=%s, hashMerkleRoot=%s, nTime=%u, nBits=%08x, nNonce=%u, vtx=%u)\n", 20 GetHash().ToString(), 21 nVersion, 22 hashPrevBlock.ToString(), 23 hashMerkleRoot.ToString(), 24 nTime, nBits, nNonce, 25 vtx.size()); 26 for (const auto& tx : vtx) { 27 s << " " << tx->ToString() << "\n"; 28 } 29 return s.str(); 30 }