Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

阅读顺序有建议吗? #1

Open
KevenNock opened this issue May 19, 2022 · 1 comment
Open

阅读顺序有建议吗? #1

KevenNock opened this issue May 19, 2022 · 1 comment

Comments

@KevenNock
Copy link

大佬,按照什么顺序阅读,可以指导下吗。

@learnerLj
Copy link
Owner

抱歉最近考试较多,没有及时回复。以我们的经验而言,如果你有工作上的要求,按着你的目的去看。比如,你是做 EVM 移植或者魔改的,那么看对应的部分,主要是 core。Geth 项目的结构非常清楚,README 最后面也再次指明了项目结构,你可以作为参考。如果是做协议设计的,做P2P的,改共识的,都是看自己需要的部分。
其次,如果是抱着学习区块链系统的想法,那么我推荐从核心看起,也就是 core,并且先从 core 中的类型看起,从源码层次弄明白交易、收据、区块、链、创世区块等等,阅读交易池部分、blockchain.go,明白最核心的链式结构如何构成的。我有一点儿经验可以分享:

  1. 按照你的目的去学习。
  2. 从底层开始。有些博客说从涉及到较少组件的部分开始,但是,我们直接从底层开始的,因为我们的理论基础比较强,基本理解源码在做什么。
  3. 理论基础很重要,源码解析和文章里我们会额外地补充理论,让读者明白这么写的原因。如果你不熟悉这一部分的理论,可以阅读 ethereum doc 和对应的 EIP,虽然是英文的,但是啃下来会很有帮助。当然,我们已经完成了小部分的解读,欢迎你提交PR,继续补充。
  4. 仓库里的部分代码我们补充了注释,你可以参考。
  5. geth的更新,每个版本的差异主要在于添加新的配置和处理,geth项目从一开始就非常注意可拓展性,因此,即使是17年的源码解读,依然有帮助,所以这个你可以直接阅读这个仓库的文章。
  6. 阅读核心部分时,会涉及到许多的组件,你可以只明白组件的功能,然后就会明白核心为什么这么处理。你可以参考 README 最后提出的参考文档。
    Best Wishes. We are looking forward to your suggestions and contributions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants