BSHA3  0.17.99
P2P Blockchain, based on Bitcoin
block.cpp
Go to the documentation of this file.
1 // Copyright (c) 2009-2010 Satoshi Nakamoto
2 // Copyright (c) 2009-2018 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 #include <utilstrencodings.h>
11 #include <crypto/common.h>
12 
14 {
15  return SerializeHash(*this);
16 }
17 
18 std::string CBlock::ToString() const
19 {
20  std::stringstream s;
21  s << strprintf("CBlock(hash=%s, ver=0x%08x, hashPrevBlock=%s, hashMerkleRoot=%s, nTime=%u, nBits=%08x, nNonce=%u, vtx=%u)\n",
22  GetHash().ToString(), // TODO
23  nVersion,
26  nTime, nBits, nNonce,
27  vtx.size());
28  for (const auto& tx : vtx) {
29  s << " " << tx->ToString() << "\n";
30  }
31  return s.str();
32 }
uint32_t nNonce
Definition: block.h:29
#define strprintf
Definition: tinyformat.h:1066
uint256 SerializeHash(const T &obj, int nType=SER_GETHASH, int nVersion=PROTOCOL_VERSION)
Compute the 256-bit hash of an object&#39;s serialization.
Definition: hash.h:235
std::string ToString() const
Definition: block.cpp:18
uint32_t nTime
Definition: block.h:27
uint256 hashMerkleRoot
Definition: block.h:26
uint256 hashPrevBlock
Definition: block.h:25
std::string ToString() const
Definition: uint256.cpp:62
uint256 GetHash() const
Definition: block.cpp:13
256-bit opaque blob.
Definition: uint256.h:122
std::vector< CTransactionRef > vtx
Definition: block.h:78
int32_t nVersion
Definition: block.h:24
uint32_t nBits
Definition: block.h:28