text: // Copyright (c) 2009-2010 Satoshi Nakamoto
  // Copyright (c) 2009-2019 The Bitcoin Core developers
  // Copyright (c) 2017-2020 The NIX Core developers
  // Distributed under the MIT software license, see the accompanying
  // file COPYING or http://www.opensource.org/licenses/mit-license.php.
  
  #include <primitives/block.h>
  
  #include <hash.h>
  #include <tinyformat.h>
  #include <util/strencodings.h>
  
  uint256 CBlockHeader::GetHash() const
  {
      return SerializeHash(*this);
  }
  
  uint256 CBlockHeader::GetPoWHash() const
  {
  
     uint256 thash;
     lyra2re2_hash(BEGIN(nVersion), BEGIN(thash));
  
     return thash;
  }
  
  std::string CBlock::ToString() const
  {
      std::stringstream s;
      s << strprintf("CBlock(hash=%s, ver=0x%08x, hashPrevBlock=%s, hashMerkleRoot=%s, nTime=%u, nBits=%08x, nNonce=%u, vtx=%u)\n",
          GetHash().ToString(),
          nVersion,
          hashPrevBlock.ToString(),
          hashMerkleRoot.ToString(),
          nTime, nBits, nNonce,
          vtx.size());
      for (const auto& tx : vtx) {
          s << "  " << tx->ToString() << "\n";
      }
      return s.str();
  }
  
  