首先我们要进入GitHub的官网,找到bitcoin的源码,可以将它下载到本地,也可在线观看。但是对于刚刚接触源码的初学者建议下载到本地。在此为读者提供bitcoin的源码地址:https://github.com/bitcoin/bitcoin
当你解压压缩包后,你会看到一大堆文件,特别是对于没有接触过项目的宝宝,更是晕头转向。
所有的文件都存在bitcoin-master下,你可以看见,在bitcoin-master下有几个目录,分别解释一下:
1. .github ,这是和github有关的文件夹,内部只有一个ISSUE_TEMPLATE.md的md文件,写的内容是你提交时防止出现问题所要读的解释。
2. .tx, 其中只包含一个config的文件,内容大致是有关翻译语言管理的,一般出现是英文(en)
3. build-aux, 里面只有一个m4文件夹,但是m4的文件夹中有很多的m4文件, 至于里面的具体内容后面会介绍到。 (m4语言是一种编程语言,经常用于生成Makefile的脚本语言,想深入了解该语言的可以参考 1.https://zh.wikipedia.org/wiki/M4_(%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80) 介绍了这个语言的特性,历史,作用等。 2.https://www.ibm.com/support/knowledgecenter/zh/ssw_aix_72/com.ibm.aix.genprogc/m4macro.htm 介绍了该语言的详细使用规则。)
4. contrib, 里面的文件很多,依此介绍如下:
/contrib/debian 包含用于打包bitcoind/bitcoin-qt的文件,用于基于debian的linux的系统。
/contrib/devtools 是针对此存储库的开发人员的特定工具,想要了解可以阅读readme.md文件。
/contrib/gitian-descriptors 这是gitian在构建过程中所需要的文件,入药深入研究,请参考https://github.com/bitcoin-core/docs。
/contrib/gitian-keys 这上面签署了开发核心程序的开发者,具体readme也有。
/contrib/init 用于文件部署的初始化,具体的readme也会有。
/contrib/linearize 用于构建区块链的线性,无叉,最佳版本,具体的readme也有。
/contrib/macdeploy 适用于mac的脚本和笔记。具体readme也有。
/contrib/qos 这是一个linux bash的脚本,他会限制连接到比特币网络的传输宽带。readme会有详细说明
/contrib/ rpm 这是运行在centos上的给予RPM的发行版构建比特币核心。具体在readme内有说明
/contrib/seeds 用于生成编译到客户端的使用程序,具体readme有说明。
/contrib/testgen 为数据驱动的比特币测试生成测试向量,readme(懒得写了)
/contrib/verify-commits 使用脚本来验证开发人员是否签署了每个合并提交的工具,readme
/contrib/verifybinaries 此脚本验证签名文件SHA256SUMS.asc
/contrib/windeploy 适用于windows下的脚本部署
/contrib/zmq py脚本文件
5.depends 我想readme可以解决所有问题吧,主要讲对不同系统的依赖性,和交叉编译。
6.doc 这主要讲了比特币核心建立和运行的一些有用的建议。
7.share 内部的前两个主要是图形有关的东西,最后一个主要讲为用户创建登录凭据。
8.src 这个水就深了,核心代码都在里面啊。
9.test 测试目录,主要包含测试bitcoind及其集成测试。