作者按:BCH是BTC的硬分叉币,代码来源于BTC,但是结合BCH的发展目标,很多细节的地方做了调整,比如说BCH的钱包地址编码,挖矿的POW难度调整算法,以及对隔离见证等新特性的支持等等,这些的调整,又让BCH有很多独特的地方。
这是一个系列文章,主要讲述我在学习BCH源码过程中的一些笔记以及心得,希望学习BCH的其他后来者,能够得到一定的借鉴意义。
第一步:搭建BCH的源码学习环境(已发表,点击查看)
1. BCH源码的下载和环境安装
2. 源码分析工具的介绍Sublime Text 3
第二步:学习一些阅读源码的基础知识
1. C++库的学习(Boost,Signals2, Bind, Thread, Chrono, Test, Program Options,libevent)(已发表,点击查看)
以下内容即将更新,敬请关注专栏“小明在链圈”
第二步:学习一些阅读源码的基础知识
2. C++重要概念学习(template)
3. 消息对列(ZMQ)学习
4. 数据库(Berkeley DB)学习
5. 数据库(levelDB)学习
第三步:BCH源码学习(即将更新,敬请关注)
1. BCH源码整体源码结构
2. BCH核心数据结构学习1-Transaction
3. BCH核心数据结构学习2-MemPool
4. BCH核心数据结构学习3-Block
5. BCH核心数据结构学习4-Consensus
6. BCH源码学习1-从bitcoind的Main启动开始
7. BCH源码学习2-bitcoind启动初始化分解第一步Setup
8. BCH源码学习3-bitcoind启动初始化分解第二步Parameter Interactions
9. BCH源码学习4-bitcoind启动初始化分解第三步parameter-to-internal-flags
10. BCH源码学习5-bitcoind启动初始化分解第四步sanity checks
11. BCH源码学习6-bitcoind启动初始化分解第四步A. application initialization
12. BCH源码学习7-bitcoind启动初始化分解第五步verify wallet database integrity
13. BCH源码学习8-bitcoind启动初始化分解第六步network initialization
14. BCH源码学习9-bitcoind启动初始化分解第七步load block chain
15. BCH源码学习10-bitcoind启动初始化分解第八步load wallet
16. BCH源码学习11-bitcoind启动初始化分解第九步data directory maintenance
17. BCH源码学习12-bitcoind启动初始化分解第十步import blocks
18. BCH源码学习13-bitcoind启动初始化分解第十一步start node
19. BCH源码学习14-bitcoind启动初始化分解第十二步finished
20. BCH源码学习15-重点功能学习之私钥、公钥、地址
21. BCH源码学习16-重点功能学习之RPC
22. BCH源码学习17-重点功能学习之挖矿和POW
23. BCH源码学习18-重点功能学习之脚本(Opcode)
24. BCH源码学习19-重点功能学习之交易
第四步:BCH相关项目阅读
1. BCH浏览器-BCHBrowser
本文系专栏作者“小明在链圈”独家投稿,首发资讯,未经作者授权,严禁转载。