以太坊协议本身越来越复杂,现在想系统地的学习以太坊已经是一个大工程,下面是我自己的一些学习路径,给大家抛砖引玉。
首先以太坊的官方文档就是一份特别好的入门材料:
- 以太坊官网:文档完整,覆盖以太坊的各个方面,而且有中文版本
其实大多数非技术背景的同学看以太坊的官方文档就已经够了,如果想更加深入了解以太坊的设计细节,可以阅读以下材料:
- 以太坊白皮书:以太坊的总体设计
- epf.wiki:深入以太坊的各种设计细节
- 图解 EVM :深入浅出的方式理解 EVM
- Upgrading Ethereum:系统地讲解以太坊协议细节,虽然文档有点老,而且很多章节没有写完,但是整体还是非常值得一看
还可以阅读以太坊协议多次仓库共学的笔记,里面有很多大佬的学习信息,非常值得阅读:
- GitHub - IntensiveCoLearning/ethereum-protocol: Intensive co-learning for Ethereum Protocol. 残酷以太坊协议共学小组。
- GitHub - IntensiveCoLearning/Ethereum-Protocol-Fellowship: 一起来残酷共学 Ethereum Protocol 做好申请 Fellowship 的准备吧
- GitHub - IntensiveCoLearning/Ethereum-Protocol-Fellowship-3: 一起来残酷共学 Ethereum Protocol 做好申请 Fellowship 的准备吧
- GitHub - IntensiveCoLearning/ethereum-protocol-4: 一起来残酷共学 Ethereum Protocol 做好申请 Fellowship 的准备吧
看完以上的内容,基本对以太坊就有了一个整体而且比较深入的理解,如果想更进一步,深入每个组件的学习:
- 执行层规范:用 python 代码的方式实现了执行层核心组件,还可以通过单元测试来看具体的效果
- 共识层规范:同样使用 python 代码实现
- randao 的实现原理:以太坊网络随机性的来源
- 分布式系统简版课程 简版分布式系统课程,主要为研究区块链系统准备
- 以太坊共识协议论文:
在学习完上面的内容之后,关于以太坊协议的理论知识就已经很强了,那么如果作为一个开发者,最终验证这些理论知识肯定是通过代码来实现:
- Geth 源码解读:LXDAO geth 源码研究 pod 的产出,全系列 6万+字数,并且后续还会持续更新
- 共识层 Prysm 客户端的源码解读也已经在路上了
当前以太坊还在持续的发展中,关于以太坊的技术方案也还在持续讨论中,想了解以太坊最新的技术研究和开发的进展,可以关注以太坊两个主要的论坛和各个会议链接:
- ethereum-magicians:主要关注 ERC 和 EIP 的进展,会直接关系到以太坊协议最新的进展
- ethresear.ch:主要关注以太坊整体架构的讨论,讨论的问题会更加宽泛
- pm:当前以太坊协议开发的项目管理信息