使用掌握比特币的书和在线材料来学习比特币的源代码,以便更好地了解比特币和区块链。我将分三个部分进行研究:
1、准备知识:比特币的实现中还使用了许多其他库,包括Boost,openssl,libevent和QT等。
2、主要数据结构:比特币在代码中定义了许多类,我们在各种文章中经常看到其中的一些类,例如事务(CTransaction),块(CBlock),事务池(CTxMemPool)等,也不常见,例如共识,CScript等。
3、可执行程序代码分析:编译了比特币源代码之后,我们将获得7个可执行程序,分别是Bench_bitcoin,bitcoin-cli,bitcoind,bitcoin-qt,bitcoin-tx,test_bitcoin,test_bitcoin-qt。其中,第二,第三,第四和第五是主要功能部分,因此我们将重点分析这四个可执行程序的源代码。
首先,我们下载比特币源代码(),如下图所示,打开网站并找到四个目录,
比特币项目目录
打开比特币目录:
比特币项目结构
我用原子编辑器打开的文件:
下图是在互联网上找到的比特币的源代码结构图: