geth-analyze
geth-analyze copied to clipboard
阅读顺序有建议吗?
大佬,按照什么顺序阅读,可以指导下吗。
抱歉最近考试较多,没有及时回复。以我们的经验而言,如果你有工作上的要求,按着你的目的去看。比如,你是做 EVM 移植或者魔改的,那么看对应的部分,主要是 core
。Geth 项目的结构非常清楚,README 最后面也再次指明了项目结构,你可以作为参考。如果是做协议设计的,做P2P的,改共识的,都是看自己需要的部分。
其次,如果是抱着学习区块链系统的想法,那么我推荐从核心看起,也就是 core
,并且先从 core
中的类型看起,从源码层次弄明白交易、收据、区块、链、创世区块等等,阅读交易池部分、blockchain.go,明白最核心的链式结构如何构成的。我有一点儿经验可以分享:
- 按照你的目的去学习。
- 从底层开始。有些博客说从涉及到较少组件的部分开始,但是,我们直接从底层开始的,因为我们的理论基础比较强,基本理解源码在做什么。
- 理论基础很重要,源码解析和文章里我们会额外地补充理论,让读者明白这么写的原因。如果你不熟悉这一部分的理论,可以阅读 ethereum doc 和对应的 EIP,虽然是英文的,但是啃下来会很有帮助。当然,我们已经完成了小部分的解读,欢迎你提交PR,继续补充。
- 仓库里的部分代码我们补充了注释,你可以参考。
- geth的更新,每个版本的差异主要在于添加新的配置和处理,geth项目从一开始就非常注意可拓展性,因此,即使是17年的源码解读,依然有帮助,所以这个你可以直接阅读这个仓库的文章。
- 阅读核心部分时,会涉及到许多的组件,你可以只明白组件的功能,然后就会明白核心为什么这么处理。你可以参考 README 最后提出的参考文档。 Best Wishes. We are looking forward to your suggestions and contributions.