此文档为对Optimism的codebase进行全面讲解,意在帮助新来到Optimism的开发者快速上手,和真正了解在codebase的代码流中是怎么工作的。
文档00-05中的所有代码示例基于Optimism v1.1.4版本。
- GitHub仓库: ethereum-optimism/optimism
- 版本标签: v1.1.4
- 发布日期: 2023年8月
- op-geth版本: commit 9cc072e (用于op-geth相关代码)
文档06基于2024年初的特定PR提交,如文档中所注明。
⚠️ 注意: 由于Optimism代码库持续更新,当前最新版本的代码结构可能与本文档中的示例有所不同。所有GitHub链接已验证其对应版本的准确性。
- v1.1.4版本: 这是本文档主要参考的稳定版本,包含了完整的Bedrock升级功能
- EIP-4844支持: 文档06中的blob功能基于早期PR设计,可能与生产环境代码存在差异
- 持续更新: 建议在开发时参考最新的官方文档和代码库
- 00-sequencer如何产生一个新的L2区块
- 01-区块是如何同步的
- 02-libp2p在op-stack中的使用
- 03-op-batcher工作原理
- 04-L2派生(derivation)原理
- 05-op-proposer工作原理
- 06-OP-Stack在EIP-4844中的升级
- 07-什么是fault-proof
- 08-Fault-Dispute-Game
- 09-Cannon
- 10-op-program
- 11-op-challenger
- op-e2e: 使用Go进行所有Bedrock组件的端到端测试
- op-heartbeat: 心跳监控服务
- op-service: 通用代码库实用程序
- op-wheel: 数据库实用程序
若您有任何疑惑,或需在开发公共产品方面获得协助,请随时通过电子邮件 [email protected] 与我联系。如我有空闲时间,将十分乐意提供帮助。