block.cpp
1 // Copyright (c) 2009-2010 Satoshi Nakamoto 2 // Copyright (c) 2009-present 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 #include <memory> 12 #include <sstream> 13 14 uint256 CBlockHeader::GetHash() const 15 { 16 return (HashWriter{} << *this).GetHash(); 17 } 18 19 std::string CBlock::ToString() const 20 { 21 std::stringstream s; 22 s << strprintf("CBlock(hash=%s, ver=0x%08x, hashPrevBlock=%s, hashMerkleRoot=%s, nTime=%u, nBits=%08x, nNonce=%u, vtx=%u)\n", 23 GetHash().ToString(), 24 nVersion, 25 hashPrevBlock.ToString(), 26 hashMerkleRoot.ToString(), 27 nTime, nBits, nNonce, 28 vtx.size()); 29 for (const auto& tx : vtx) { 30 s << " " << tx->ToString() << "\n"; 31 } 32 return s.str(); 33 }