block.cpp raw

   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  }
  34