diff options
author | Eric Lombrozo <elombrozo@gmail.com> | 2013-01-08 14:58:06 -0800 |
---|---|---|
committer | Eric Lombrozo <elombrozo@gmail.com> | 2013-06-05 23:15:20 -0700 |
commit | aabdf9e899e9024927c26c194ad38142495f80bf (patch) | |
tree | 736c1df9b5cd042539083b5326b5a684c30a27bb /src/core.h | |
parent | 48343a0a506398e22349c791717500a20bfff511 (diff) |
Moved UpdateTime out of CBlockHeader and moved CBlockHeader into core.
Diffstat (limited to 'src/core.h')
-rw-r--r-- | src/core.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/core.h b/src/core.h index c86e1f499d..cba3ab233f 100644 --- a/src/core.h +++ b/src/core.h @@ -672,4 +672,65 @@ public: }; +/** Nodes collect new transactions into a block, hash them into a hash tree, + * and scan through nonce values to make the block's hash satisfy proof-of-work + * requirements. When they solve the proof-of-work, they broadcast the block + * to everyone and the block is added to the block chain. The first transaction + * in the block is a special one that creates a new coin owned by the creator + * of the block. + */ +class CBlockHeader +{ +public: + // header + static const int CURRENT_VERSION=2; + int nVersion; + uint256 hashPrevBlock; + uint256 hashMerkleRoot; + unsigned int nTime; + unsigned int nBits; + unsigned int nNonce; + + CBlockHeader() + { + SetNull(); + } + + IMPLEMENT_SERIALIZE + ( + READWRITE(this->nVersion); + nVersion = this->nVersion; + READWRITE(hashPrevBlock); + READWRITE(hashMerkleRoot); + READWRITE(nTime); + READWRITE(nBits); + READWRITE(nNonce); + ) + + void SetNull() + { + nVersion = CBlockHeader::CURRENT_VERSION; + hashPrevBlock = 0; + hashMerkleRoot = 0; + nTime = 0; + nBits = 0; + nNonce = 0; + } + + bool IsNull() const + { + return (nBits == 0); + } + + uint256 GetHash() const + { + return Hash(BEGIN(nVersion), END(nNonce)); + } + + int64 GetBlockTime() const + { + return (int64)nTime; + } +}; + #endif |