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