DinhKhai0201/awesome-senior-blockchain-roadmap
GitHub: DinhKhai0201/awesome-senior-blockchain-roadmap
提供高级区块链工程师学习路线图。
Stars: 0 | Forks: 0
# 高级区块链工程师路线图
一个简单实用的学习路线图,供希望成为更优秀区块链工程师的开发者使用。
这个仓库收集了免费书籍、文档、课程、GitHub 仓库、安全资源和项目想法。目标不是一次性学习所有内容。目标是建立强大的基础,阅读真实的生产代码,编写安全的智能合约,并了解区块链系统在现实世界中的工作方式。
## 这适合谁?
本路线图适用于已经了解基本编程并希望深入了解区块链工程的开发者。
如果你想要成为以下角色,这将很有用:
- 智能合约工程师
- DeFi 协议工程师
- 区块链全栈工程师
- 区块链安全研究员
- Web3 后端或基础设施工程师
你不需要在开始之前成为专家。但你应该准备好编写代码、阅读文档、仔细测试和认真研究安全方面。
## 如何使用此路线图
不要试图在一周内完成所有内容。
使用此仓库的好方法:
1. 学习以太坊和 EVM 的基础知识。
2. 通过构建小型合约学习 Solidity。
3. 使用 Foundry 学习测试。
4. 阅读 OpenZeppelin 合约。
5. 学习智能合约安全。
6. 构建 DeFi 项目。
7. 阅读真实协议源代码。
8. 创建一个严肃的演示项目。
最佳学习方法很简单:
## 1. 区块链和以太坊基础知识
如果你想了解区块链系统底层是如何工作的,请从这里开始。
### 免费资源
- [精通以太坊](https://github.com/ethereumbook/ethereumbook)
一本关于以太坊、钱包、账户、交易、gas、智能合约和 dApps 的免费书籍。
- [以太坊开发者文档](https://ethereum.org/developers/)
开发者的官方以太坊学习中心。
- [以太坊黄皮书](https://ethereum.github.io/yellowpaper/paper.pdf)
以太坊的正式技术规范。这是高级内容。稍后再读,不要一开始就读。
- [比特币白皮书](https://bitcoin.org/bitcoin.pdf)
原始的比特币论文。简短、重要,仍然值得一读。
### 你应该理解的内容
- 什么是区块链?
- 什么是交易?
- 什么是钱包?
- 什么是公钥和私钥?
- 什么是 gas?
- 什么是 EVM?
- 比特币和以太坊有什么区别?
- 外部拥有账户和合约账户有什么区别?
## 2. Solidity 基础知识
Solidity 是在以太坊和许多 EVM 兼容链上编写智能合约的主要语言。
### 免费资源
- [Solidity 官方文档](https://docs.soliditylang.org/)
最重要的 Solidity 资源。慢慢阅读。
- [Solidity 示例](https://solidity-by-example.org/)
常见 Solidity 概念的简短实用示例。
- [OpenZeppelin 合约](https://github.com/OpenZeppelin/openzeppelin-contracts)
用于代币、访问控制、安全和可升级性的生产就绪智能合约库。
- [Solidity 模式](https://github.com/fravoll/solidity-patterns)
常见的智能合约设计模式。
### 你应该理解的内容
- `storage`、`memory` 和 `calldata`
- `msg.sender`、`msg.value` 和 `tx.origin`
- 事件和自定义错误
- 修饰符
- 继承
- 接口
- ERC20、ERC721 和 ERC1155 基础
- 访问控制
- 重新进入
- Delegatecall
- 代理合约
- 可升级合约
## 3. 开发工具
高级区块链工程师应该熟悉现代测试和部署工具。
### 推荐工具
- [Foundry](https://book.getfoundry.sh/)
快速以太坊开发工具包。非常适合测试、模糊测试、脚本和分叉测试。
- [Hardhat](https://hardhat.org/docs)
流行的以太坊开发环境,尤其在 TypeScript 项目中很常见。
- [Remix IDE](https://remix.ethereum.org/)
适合快速实验,但不足以用于严肃的生产项目。
- [Ethers.js](https://docs.ethers.org/)
用于与以太坊交互的 JavaScript 库。
- [Viem](https://viem.sh/)
现代 TypeScript 接口,用于以太坊。
### 你应该练习的内容
- 编写单元测试
- 编写分叉测试
- 编写模糊测试
- 编写不变性测试
- 将合约部署到测试网
- 在区块链浏览器上验证合约
- 读取合约事件
- 调试失败的交易
## 4. 智能合约安全
安全是初级和高级区块链工程师之间最大的区别之一。
智能合约可以持有真实货币。一个小错误可能导致重大损失。
### 免费资源
- [智能合约安全指南](https://scsfg.io/)
智能合约安全的实用指南。
- [Consensys 智能合约最佳实践](https://github.com/Consensys/smart-contract-best-practices)
安全模式和常见漏洞。
- [Trail of Bits - 构建安全合约](https://github.com/crytic/building-secure-contracts)
关于安全智能合约开发和审计的优秀指南。
- [Secureum](https://www.secureum.xyz/)
以太坊安全训练营和测验。
- [Damn Vulnerable DeFi](https://github.com/OpenZeppelin/damn-vulnerable-defi)
动手 DeFi 安全挑战。
### 要研究的风险
- 重新进入
- 橡胶操纵
- 访问控制错误
- 整数舍入问题
- 不安全的 delegatecall
- 存储冲突
- 签名重放
- 前置交易
- 三明治攻击
- 闪电贷攻击
- 错误的份额会计
- 恶劣的升级设计
## 5. DeFi 基础知识
DeFi 是区块链工程中最重要的领域之一。
### 要学习的内容
- ERC20 代币
- 代币批准
- AMM
- 液体池
- 交换
- 滑点
- 借贷和借款
- 抵押品
- 清算
- 橡胶
- 保险库
- 收益策略
- 治理
- MEV
### 免费资源和代码库
- [Uniswap v2 核心](https://github.com/Uniswap/v2-core)
AMM 设计的良好起点。
- [Uniswap v3 核心](https://github.com/Uniswap/v3-core)
具有集中流动性的高级 AMM。
- [Uniswap v3 边缘](https://github.com/Uniswap/v3-periphery)
Uniswap v3 的路由器和面向用户的合约层。
- [Aave v3 核心](https://github.com/aave/aave-v3-core)
生产级借贷协议代码库。
- [Aave v3 边缘](https://github.com/aave/aave-v3-periphery)
辅助合约和边缘架构。
### 你应该能够解释的内容
- 交换是如何工作的?
- 液体如何影响价格?
- 什么是不可变损失?
- 借贷池是如何工作的?
- 什么是健康因子?
- 为什么会发生清算?
- 如何操纵橡胶?
- 为什么份额会计很困难?
## 6. 阅读真实源代码
阅读真实的生产代码是快速成长的一种方式。
不要从头到尾阅读所有内容。选择一个用户流程并跟随它。
示例:
```
User deposits tokens
→ contract validates input
→ state changes
→ accounting updates
→ event is emitted
→ tests check the behavior
```
### 推荐的仓库
- [OpenZeppelin 合约](https://github.com/OpenZeppelin/openzeppelin-contracts)
- [Uniswap v2 核心](https://github.com/Uniswap/v2-core)
- [Uniswap v3 核心](https://github.com/Uniswap/v3-core)
- [Aave v3 核心](https://github.com/aave/aave-v3-core)
- [Foundry](https://github.com/foundry-rs/foundry)
- [Hardhat](https://github.com/NomicFoundation/hardhat)
- [Solidity 编译器](https://github.com/argotorg/solidity)
### 如何阅读协议代码
1. 从 README 开始。
2. 找到主要合约。
3. 在阅读所有合约之前先阅读测试。
4. 跟踪一个动作,比如存款、取款、交换、借款或清算。
5. 绘制状态变化。
6. 写下自己的笔记。
7. 自己重建一个小版本。
## 7. 基础设施和后端技能
高级区块链工程师通常需要了解比智能合约更多的内容。
### 要学习的内容
- RPC 节点
- 索引器
- 事件监听器
- 子图
- 交易队列
- 非零值管理
- 区块确认
- 链重组
- gas 估计
- 监控和警报
- dApps 的后端服务
### 有用的资源
- [The Graph 文档](https://thegraph.com/docs/)
- [Alchemy 文档](https://docs.alchemy.com/)
- [Infura 文档](https://docs.infura.io/)
- [Chainlink 文档](https://docs.chain.link/)
### 要构建的项目
- 代币转移索引器
- NFT 活动跟踪器
- 钱包交易历史 API
- 清算监控机器人
- 智能合约事件警报系统
- gas 价格仪表板
## 8. 零知识基础知识
零知识是一个高级领域。你不需要从这里开始,但对于高级区块链工程师来说很有价值。
### 要学习的内容
- 什么是零知识证明?
- 什么是电路?
- 什么是证明者?
- 什么是验证者?
- zk-SNARKs 和 zk-STARKs 是什么?
- 什么是 rollups?
### 资源
- [ZK 书](https://www.rareskills.io/zk-book)
- [Noir 文档](https://noir-lang.org/docs)
- [Circom 文档](https://docs.circom.io/)
- [zkSync 文档](https://docs.zksync.io/)
## 9. 演示项目
一个强大的演示项目比仅仅阅读资源更重要。
### 初级项目
- ERC20 代币
- NFT 收藏品
- 代币锁定合约
- 简单的多签钱包
- 众筹合约
- 拍卖合约
### 中级项目
- 稳定币合约
- ERC4626 保险库
- 带白名单的代币销售
- 可升级的 ERC20
- NFT 市场place
- 简单的 AMM
### 高级项目
- 借贷协议
- 清算机器人
- Uniswap v2 克隆
- 带策略的保险库
- 治理系统
- 跨链消息演示
- 智能合约监控系统
### 高级演示项目想法
构建一个生产风格的 DeFi 保险库。
建议功能:
- ERC4626 保险库
- 基于角色的访问控制
- 可暂停的紧急模式
- 策略合约
- Chainlink 橡胶集成
- 可升级的代理
- Foundry 测试
- 模糊测试
- 不变性测试
- 分叉测试
- 部署脚本
- 威胁模型文档
- 安全清单
- 清晰的 README
建议文件夹结构:
```
contracts/
test/
script/
docs/
audits/
README.md
threat-model.md
invariants.md
deployment.md
```
## 10. 六个月学习计划
### 第 1 个月:以太坊和 Solidity 基础
目标:了解以太坊、Solidity、钱包、gas 和简单合约。
构建:
- ERC20 代币
- NFT 合约
- 简单的钱包
- 拍卖合约
### 第 2 个月:Foundry 和测试
目标:编写严肃的测试。
练习:
- 单元测试
- 回滚测试
- 事件测试
- 分叉测试
- 模糊测试
构建:
- 代币销售
- 锁定合约
- 稳定币合约
### 第 3 个月:OpenZeppelin 和生产模式
目标:学习生产合约通常是怎样构建的。
学习:
- Ownable
- AccessControl
- Pausable
- ReentrancyGuard
- ERC20
- ERC721
- ERC4626
- 代理模式
构建:
- 可升级的代币
- 基于角色的管理员系统
- ERC4626 保险库
### 第 4 个月:安全
目标:学习智能合约是如何崩溃的。
学习:
- 重新进入
- 橡胶攻击
- 访问控制错误
- Delegatecall 风险
- 存储冲突
- 闪电贷攻击
练习:
-Damn Vulnerable DeFi
- Secureum 测验
- 编写审计笔记
### 第 5 个月:DeFi 协议
目标:了解 AMM、借贷、保险库和清算。
阅读:
- Uniswap v2
- Uniswap v3
- Aave v3
构建:
- 简单的 AMM
- 简单的借贷池
- 清算模拟
### 第 6 个月:高级项目
目标:创建一个严肃的公共仓库。
构建:
- DeFi 保险库或借贷协议
- 完整的测试套件
- 安全文档
- 部署指南
- 清晰的 README
## 11. 高级区块链工程师清单
当你能够:
- 解释 EVM 如何执行交易
- 编写安全的 Solidity 合约
- 有信心地使用 Foundry
- 编写模糊和不变性测试
- 阅读 OpenZeppelin 源代码
- 阅读DeFi 协议源代码
- 解释常见的智能合约漏洞
- 设计安全的可升级合约
- 理解橡胶和清算风险
- 构建监听区块链事件的后端服务
- 调试失败的交易
- 编写清晰的技术文档
- 审查其他开发者的智能合约代码
时,你正在向高级水平迈进。
## 12. 推荐学习顺序
如果你感到迷茫,请遵循以下顺序:
```
Mastering Ethereum
→ Solidity by Example
→ Solidity Docs
→ Foundry Book
→ OpenZeppelin Contracts
→ Smart Contract Security Field Guide
→ Trail of Bits Building Secure Contracts
→ Damn Vulnerable DeFi
→ Uniswap v2 Core
→ Uniswap v3 Core
→ Aave v3 Core
→ Build your own protocol
```
## 贡献
欢迎贡献。
你可以通过以下方式做出贡献:
- 添加免费资源
- 修复损坏的链接
- 改进说明
- 添加项目想法
- 添加安全示例
- 翻译此路线图
请保持语言简单且适合初学者。
## 免责声明
此仓库仅用于学习目的。
智能合约可以持有真实货币,可能存在风险。在使用合约进行生产之前,请务必仔细测试、审查您的代码并获得专业审计。
## 许可证
MIT 许可证
标签:DeFi, DNS解析, Solidity, Web3, 个人作品集, 代码测试, 以太坊, 区块链, 基础设施, 学习资源, 安全指南, 开发路线图, 开源项目, 技术文档, 智能合约, 编程学习, 项目实践