aguscort/smart-contract-auditor-learning-path
GitHub: aguscort/smart-contract-auditor-learning-path
一份结构化的智能合约审计学习路径,帮助学习者系统掌握从区块链基础到漏洞审计与形式化验证的完整技能。
Stars: 0 | Forks: 0
# 智能合约审计师 - 学习路径
## **📚第一周:区块链与加密货币沉浸**
### **第1-2天:区块链世界入门**
- **详细大纲**:比特币和区块链的起源、公有链、私有链和联盟链的区别、共识机制(PoW、PoS)。
- **关键概念**:去中心化、不可篡改性、透明度。
- **实践练习**:分析区块结构并在区块浏览器中可视化交易。
- **必读文献**:[《精通比特币》](https://github.com/bitcoinbook/bitcoinbook) 安德烈亚斯·M·安东诺普洛斯著,第1-2章。
- **推荐在线课程**:[《区块链与比特币基础》](https://www.udemy.com/course/blockchain-and-bitcoin-fundamentals/)(Udemy)、[Cyfrin Updraft — 区块链基础](https://updraft.cyfrin.io/courses/blockchain-basics)。
### **第3-4天:加密货币与以太坊基础**
- **详细大纲**:比特币与以太坊对比、介绍山寨币、钱包的工作原理、智能合约是什么以及如何工作。
- **关键概念**:钱包、Gas、ERC-20(代币)、ERC-721(NFT)。
- **实践练习**:创建以太坊钱包,与智能合约进行基本交互。
- **必读文献**:[《精通以太坊》](https://github.com/ethereumbook/ethereumbook) 安德烈亚斯·M·安东诺普洛斯和加文·伍德著,第3-4章。
- **推荐在线课程**:[《以太坊区块链开发者训练营(Solidity)》](https://www.udemy.com/course/blockchain-developer/)(Udemy)、[Cyfrin Updraft — Solidity基础](https://updraft.cyfrin.io/courses/solidity)。
### **第5-7天:DApp开发与以太坊工具**
- **详细大纲**:DApp架构、使用MetaMask、介绍Truffle、Hardhat等工具,以及如何使用Web3.js和ethers.js与智能合约交互。
- **关键概念**:MetaMask、Truffle/Hardhat、Web3.js/ethers.js。
- **实践练习**:创建一个简单的DApp与智能合约交互,并部署到测试网。
- **必读文献**:Roberto Infante的《构建以太坊DApps》、[ethers.js官方文档](https://docs.ethers.org/v6/)。
- **推荐在线课程**:[《区块链基础》](https://www.pluralsight.com/courses/fundamentals-blockchain)(Pluralsight)、[Cyfrin Updraft — 全栈Web3开发速成课](https://updraft.cyfrin.io/courses/full-stack-web3-development-crash-course)。
## 🔍**第二周:Solidity深入及其他Web3语言**
### **第8-10天:Solidity深入**
- **详细大纲**:高级类型、继承、接口、模块化、可升级智能合约、工厂模式。
- **关键概念**:设计模式、Gas优化、Solidity安全性。
- **实践练习**:使用高级设计模式开发智能合约。
- **必读文献**:[《精通以太坊》](https://github.com/ethereumbook/ethereumbook) 高级章节、[Solidity官方文档](https://docs.soliditylang.org/)。
- **推荐在线课程**:[《智能合约》](https://www.coursera.org/learn/smarter-contracts)(Coursera,纽约州立大学布法罗分校)、[Cyfrin Updraft — Foundry基础](https://updraft.cyfrin.io/courses/foundry)。
### **第11-15天:Solidity设计模式**
- **详细大纲**:深入研究智能合约设计模式,重点关注提高安全性、可升级性和Gas效率的模式。介绍OpenZeppelin等工具和库以实现这些模式。
- **必读文献**:[《智能合约最佳实践》](https://consensys.github.io/smart-contract-best-practices/)(ConsenSys)、[OpenZeppelin文档](https://docs.openzeppelin.com/contracts/)、[Solidity Patterns](https://fravoll.github.io/solidity-patterns/)。
- **推荐在线课程**:[CryptoZombies](https://cryptozombies.io/)、[Cyfrin Updraft — Foundry基础](https://updraft.cyfrin.io/courses/foundry)(高级模式部分)。
## 👨💻**第三周:开发框架与DApp前端**
### **第16-17天:区块链开发框架与环境**
- **详细大纲**:Truffle Suite与Hardhat的比较、开发环境配置、使用Ganache进行部署和测试。
- **关键概念**:测试、迁移、部署脚本。
- **实践练习**:从零开始配置完整的DApp开发环境。
- **必读文献**:[Foundry官方文档](https://book.getfoundry.sh/)、[Hardhat官方文档](https://hardhat.org/docs)。
- **推荐在线课程**:[Cyfrin Updraft — Foundry基础](https://updraft.cyfrin.io/courses/foundry)。
### **第18-20天:前端与DApp集成**
- **详细大纲**:使用现代JavaScript/TypeScript框架与智能合约交互、管理状态和区块链事件。
- **关键概念**:React、Vue、Angular、Svelte、使用Redux或Context API的状态管理。
- **实践练习**:构建与智能合约交互的动态用户界面。
- **必读文献**:[viem文档](https://viem.sh/)、[wagmi文档](https://wagmi.sh/)、[ethers.js文档](https://docs.ethers.org/v6/)。
- **推荐在线课程**:[《React - 完整指南》](https://www.udemy.com/course/react-the-complete-guide-incl-redux/)(Udemy)、[Cyfrin Updraft — 全栈Web3开发速成课](https://updraft.cyfrin.io/courses/full-stack-web3-development-crash-course)。
### **第21-23天:NFT与代币市场**
- **详细大纲**:NFT的创建、铸造和销售、ERC-721和ERC-1155标准、使用OpenSea和Rarible等平台。
- **关键概念**:NFT铸造、互操作性、NFT市场。
- **实践练习**:开发NFT智能合约并创建小型交易平台。
- **必读文献**:OpenZeppelin关于[ERC-721](https://docs.openzeppelin.com/contracts/5.x/erc721)和[ERC-1155](https://docs.openzeppelin.com/contracts/5.x/erc1155)的文档。
- **推荐在线课程**:[Ethereum.org官方NFT教程](https://ethereum.org/developers/tutorials/how-to-write-and-deploy-an-nft)、[CryptoZombies](https://cryptozombies.io/)。
## **📚第四周:向高级应用过渡**
### **去中心化金融(DeFi)**
- **详细大纲**:深入探索DeFi的关键组件,包括贷款协议、AMM和质押。分析真实用例和成功DeFi产品的技术架构。
- **必读文献**:《DeFi and the Future of Finance》,作者Campbell R. Harvey、Ashwin Ramachandran和Joey Santoro。
- **推荐在线课程**:[Cyfrin Updraft — Uniswap V2](https://updraft.cyfrin.io/courses/uniswap-v2)、[Cyfrin Updraft — Aave V3](https://updraft.cyfrin.io/courses/aave-v3)、[Finematics](https://www.youtube.com/@Finematics)(YouTube)。
### **预言机与Chainlink**
- **详细大纲**:介绍区块链中预言机的概念,重点介绍Chainlink用于向智能合约提供外部数据。关注用例和确保数据可靠性和安全性的最佳实践。
- **必读文献**:[Chainlink官方文档](https://docs.chain.link/)。
- **推荐在线课程**:[Cyfrin Updraft — Chainlink基础](https://updraft.cyfrin.io/courses)(含认证考试)。
### **可扩展性解决方案入门:Layer 2与侧链**
- **详细大纲**:概述以太坊的可扩展性解决方案,包括Layer 2(乐观和zk-Rollups)和侧链(如Polygon)。讨论这些技术如何使DApp以更高规模和更低成本运行。
- **必读文献**:[Polygon文档](https://docs.polygon.technology/)、[Optimism文档](https://docs.optimism.io/)、[Arbitrum文档](https://docs.arbitrum.io/)。
- **推荐在线课程**:[L2Beat](https://l2beat.com/)(实时L2数据的技术参考)、[Cyfrin Updraft — 零知识证明基础](https://updraft.cyfrin.io/courses)。
## 👨💻**第五周:开发工具与中间协议**
### **第31-32天:账户抽象与MetaMask**
- **详细大纲**:探索账户抽象概念以简化用户与DApp的交互、认证和交易管理。实现MetaMask作为数字身份管理器并集成到DApp中。
- **关键概念**:账户抽象、EOA与合约钱包、Gas抽象、Meta交易、钱包集成。
- **练习**:实现MetaMask认证系统、开发Meta交易、集成Wallet Connect、处理钱包事件。
- **必读文献**:Antonopoulos和Wood的《精通以太坊》(钱包章节)、[MetaMask文档](https://docs.metamask.io/)、[ERC-4337文档](https://www.erc4337.io/)。
- **推荐在线课程**:[《以太坊与Solidity:完整开发者指南》](https://www.udemy.com/course/ethereum-and-solidity-the-complete-developers-guide/)(Udemy)。
### **第33-34天:Infura与ConsenSys**
- **详细大纲**:Infura作为开发者连接到以太坊网络的桥梁,无需运行完整节点即可访问区块链。概述ConsenSys及其在以太坊生态系统中的作用,探索其用于简化DApp开发的工具和服务。
- **关键概念**:节点提供者、API端点、WebSocket连接、网络管理、ConsenSys套件。
- **实践练习**:配置Infura项目、实现WebSocket连接、管理多网络、使用ConsenSys工具。
- **必读文献**:[Infura官方文档](https://docs.infura.io/)、[Alchemy文档](https://docs.alchemy.com/)。
- **推荐在线课程**:[《在以太坊区块链上开发应用程序》](https://www.pluralsight.com/courses/ethereum-blockchain-developing-applications)(Pluralsight)。
### **第35-37天:Polygon(MATIC)入门**
- **详细大纲**:Polygon作为以太坊可扩展性解决方案的基础知识,实现更快、更便宜的交易。了解如何在Polygon上构建和部署DApp,包括配置MetaMask以使用Polygon网络和使用兼容的开发工具。Polygon架构、可扩展性解决方案实现、在Polygon网络上开发和部署DApp、与现有工具集成。
- **关键概念**:Layer 2扩容、Polygon架构、跨链桥、Gas优化、网络配置。
- **实践练习**:在Polygon上部署智能合约、配置MetaMask以使用Polygon、实现桥接、优化L2应用。
- **必读文献**:[Polygon官方文档](https://docs.polygon.technology/)。
- **推荐在线课程**:[Cyfrin Updraft — 全栈Web3开发速成课](https://updraft.cyfrin.io/courses/full-stack-web3-development-crash-course)(包含L2部署)。
## [🔍第六周:预言机集成与高级设计模式](https://github.com/aguscort/smart-contract-auditor-learning-path/blob/main/semana-06.md)
## [👨💻第七周:Solidity优化与底层开发](https://github.com/aguscort/smart-contract-auditor-learning-path/blob/main/semana-07.md)
## [📚第八周:基础安全](https://github.com/aguscort/smart-contract-auditor-learning-path/blob/main/semana-08.md)
## [👨💻第九周:高级审计](https://github.com/aguscort/smart-contract-auditor-learning-path/blob/main/semana-09.md)
## [🔍第十周:案例研究](https://github.com/aguscort/smart-contract-auditor-learning-path/blob/main/semana-10.md)
## [📚第十一周:高级最终项目](https://github.com/aguscort/smart-contract-auditor-learning-path/blob/main/semana-11.md)
标签:Cyfrin Updraft, DApp开发, DeFi安全, ERC-20, ERC-721, Ethernaut, ethers.js, Gas, Hardhat, MetaMask, NFT安全, PoS, PoW, Solidity, Truffle, Web3.js, Web3审计, XML 请求, 不可篡改性, 以太坊, 共识机制, 加密货币, 区块结构, 区块链, 区块链浏览器, 去中心化, 安全开发, 实战练习, 形式化验证, 文献阅读, 智能合约安全, 智能合约审计, 智能合约开发, 漏洞分析, 路径探测, 透明性, 钱包