bitcoin源码分析 – 区块数据

Block — 数据 区块数据结构 区块与交易硬盘数据 区块与交易内存数据 区块数据结构 block.h block.cpp class CBlockHeader { public: // header int32_t nVersion; uint256 hashPrevBlock; uint256 hashMerkleRoot; uint32_t nTime; uint32_t nBits; uint32_t nNonce; nTime表示时间戳, 如果当前区块的时间戳大于前11个区块的平均时间戳, 并且小于网络调整时间(Network Adjust Time)+2小时, 则认为该时间戳是有效的; 网络调整时间是指与之连接的所有节点的平均时间。 Adjust Time相关源码可以参考: NetMsgType::VERSION AddTimeData相关部分。 nBits即target, 表示挖矿难度。 nNonce表示随机数, 用来产生hash。 class CBlock : public CBlockHeader { public:     // network and disk…