block.cpp raw
1 // Copyright (c) 2009-2010 Satoshi Nakamoto
2 // Copyright (c) 2009-2019 The Limenka 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 }
31