主页 > 苹果手机imtoken怎么下载 > 比特币源码解读:创世区块的产生

比特币源码解读:创世区块的产生

苹果手机imtoken怎么下载 2023-08-31 05:12:31

2022-01-20

(本文使用比特币v0.1.0版本,点击下载源码)

本文主要介绍创世块是如何生成的比特币是怎么产生的,接下来是上一篇文章《初始化比特币源码解读》中对初始化加载模块的描述。 本文主要介绍创世区块时间戳的初始化、币奖励、区块信息比特币是怎么产生的,以及区块存储和区块索引的生成。

流程图如下:

比特币源码解读之创世块的产生

加载块索引

if(!LoadBlockIndex()) strErrors +="加载blkindex.dat时出错\n";boolLoadBlockIndex(bool fAllowNew){////加载块索引//CTxDB txdb("cr");if(!txdb.LoadBlockIndex( )) 返回假; txdb.Close();....} 判断块索引是否为空

// 使用创世块初始化//if(mapBlockIndex.empty()){if(!fAllowNew)return false;...}初始化时间戳和交易

(1) 时间戳是“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks”,这句话正是当天时报头版文章的标题“On January 3, 2009, the Chancellor of banks”财政部正站在对银行业进行第二次救助的边缘”。 时间戳是存在性证明的关键参数。

(2)创世币奖励为50BTC,输入为空,输出公钥为

// Genesis blockchar* pszTimestamp = "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks";CTransaction txNew;txNew.vin.resize(1);txNew.vout.resize(1);txNew.vin[ 0].scriptSig = CScript()