跳到主要内容

学习顺序

阶段一:区块链与去中心化基础认知

在这个阶段,你需要深入理解区块链的概念与核心特征,为后续的技术学习打下认知基础。

学习目标:

  • 掌握区块链的工作原理,包括区块、交易、节点和共识的基本概念。
  • 清晰理解去中心化的意义,以及与传统集中式系统的不同之处。
  • 能以自己的话解释哈希、矿工(验证者)、Merkle 树、公私钥等基本术语。

建议行动:

  • 阅读比特币白皮书概要,或选择可信来源的区块链科普文章和视频(Ethereum.org 的入门文档)。
  • 将所学的概念用口语化表达,尝试给身边不懂技术的人解释区块链如何保证数据不可篡改。

最佳实践:

  • 建立个人笔记库,为每个新概念写出简短定义和理解。
  • 尝试用类比方式(如把区块链比作人人都能看到的记账本)说明原理,内化概念。

阶段二:加密学基础与多链生态认知

此阶段旨在理解加密技术、不同共识机制,以及多元化的区块链生态,有助于你明晰各公链和 L2 方案的特点。

学习目标:

  • 掌握公钥、私钥、数字签名和哈希函数的原理,理解其在身份验证和交易签名中的作用。
  • 对比理解 PoW 与 PoS 等共识算法的关键差异,知道为什么以太坊由 PoW 转为 PoS。
  • 初步认识以太坊、BSC、Polygon 等 EVM 链的特色,以及 Arbitrum、Optimism 等二层扩容方案的基本定位。

建议行动:

  • 学习简单的加密学视频或文档,弄清签名验证流程。
  • 查阅各公链官方文档(如 Polygon 官网),并在笔记中总结各链的优劣势和应用场景。

最佳实践:

  • 为常见的共识机制写一段简短对比总结,强调其性能、安全性、去中心化程度差异。
  • 找一个测试网账号,用浏览器中简单查看交易数据,理解公链间的差异。

阶段三:Solidity 语言与智能合约基础开发

在此阶段,你将从前端背景过渡到链上逻辑的编写,重点在 Solidity 编程和基础合约开发环境搭建。

学习目标:

  • 掌握 Solidity 基本语法,包括变量类型、函数定义、事件、modifier 以及访问控制。
  • 了解并能实现基本的 ERC 标准合约(如 ERC-20 的代币合约)。
  • 熟悉 Hardhat(或 Truffle、Foundry)等开发工具的编译、部署和测试流程,能将合约部署到测试网。

建议行动:

  • 阅读 Solidity 官方文档,完成 CryptoZombies 入门教程。
  • 使用 Hardhat 编译和部署一个简单的 ERC-20 代币到 Goerli 或 Sepolia 测试网,并编写简单的测试脚本验证合约函数正确性。

最佳实践:

  • 在代码实现中加入 OpenZeppelin 的合约库,减少安全风险。
  • 将你的初始合约代码上传 GitHub,撰写 README,记录合约功能和部署流程。

阶段四:dApp 前端集成与链上交互实战

你将从纯合约层面扩展到完整的去中心化应用开发,让前后端贯通。

学习目标:

  • 能使用 React 或 Vue 搭建基础前端界面,并在页面中展示区块链数据。
  • 熟悉 ethers.js 或 web3.js 库,从前端调用合约函数、读取数据、监听事件。
  • 集成钱包(如 MetaMask),实现“连接钱包”、“显示账户地址”和“发送交易”等基本交互。

建议行动:

  • 用 React 搭建一个简单页面:一个“Connect Wallet”按钮、账户地址显示区域,以及一个调用你 ERC-20 合约 transfer 函数的按钮。
  • 通过 Infura 或 Alchemy 免费节点服务提供商连接测试网,让你的 dApp 直接与链交互。

最佳实践:

  • 在 UI 层面实现基础状态提示,如:交易进行中显示加载动画,交易完成后更新余额显示。
  • 部署你的前端至 Netlify 或 Vercel,并将最终在线 Demo 链接与代码仓库链接写入文档中。

阶段五:智能合约安全与基本审计意识

在这个阶段,安全将成为重要议题。你需要掌握基本的安全审计思路和常见漏洞类型。

学习目标:

  • 了解常见的合约漏洞(重入攻击、权限问题、整数溢出等)及其防范手段。
  • 学习使用 Slither 等自动化分析工具,对合约进行静态检查。
  • 掌握安全最佳实践,如限制外部调用顺序、使用安全数学库、实现权限控制(Ownable)等。

建议行动:

  • 在你之前部署的代币合约上运行 Slither,分析潜在问题并做出改进。
  • 阅读 ConsenSys Diligence 或 Trail of Bits 的安全博客,理解实际案例中的漏洞和补救方案。

最佳实践:

  • 在每次编写合约函数前问自己:该函数需要权限控制吗?外部调用参数是否经过严格校验?
  • 定期关注安全领域的更新,加入智能合约审计社区的讨论。

阶段六:探索典型 Web3 应用场景(DeFi、NFT、DAO)

此阶段你将理解当前 Web3 世界中实际应用案例及其合约逻辑,拓展你的思路与技能宽度。

学习目标:

  • 理解 DeFi 常见协议(如 Uniswap AMM 的基本机制,Aave 借贷合约的逻辑),能读懂基础逻辑。
  • 了解 NFT 标准(ERC-721)与 Mint 流程,尝试编写并部署自己的 NFT 合约。
  • 探索 DAO 治理模式和治理合约(如 OpenZeppelin 的 Governor 合约)。

建议行动:

  • Fork 一个简单的 NFT 示例合约,在测试网 mint 自己的 NFT 并在 OpenSea 测试网查看。
  • 阅读 Uniswap V2 或 V3 合约代码注释,理解基础流程,如 swap 函数的执行逻辑。

最佳实践:

  • 思考应用开发时的用户体验和价值定位,不仅从技术层面,也从产品应用层面审视你的合约和 dApp。
  • 在学习后用 Markdown 写一份短文,总结你对 DeFi 或 NFT 应用的理解,与社区讨论或分享,获得反馈。

阶段七:扩容方案、前沿技术与持续学习

该阶段强调持续迭代,深入前沿技术并保持对行业动态的敏感度。

学习目标:

  • 理解 Layer 2 技术(Optimistic Rollups、ZK Rollups)的实现思路和适用场景。
  • 探索跨链桥与互操作性协议,对多链世界的统一账户、资产迁移有基础了解。
  • 持续关注新 EIP 提案、GitHub 上的 issue 和 ETH Research 论坛的技术讨论。

建议行动:

  • 阅读 L2beat 等网站的资料,对比各 L2 方案的 TPS、成本和安全模式。
  • 定期浏览 ETH Research 和 EthMagicians 论坛,了解社区对协议改进的探讨。

最佳实践:

  • 在你已有的 dApp 中,尝试将合约部署到 L2 测试环境,对比主网费用与响应速度的差异。
  • 为学到的新技术撰写博客或参与讨论,形成自己的技术观点。

总结

通过上述分阶段的学习和实践,你将从基础概念一路深入到合约开发、安全审计和多元生态的理解。在每个阶段产出相应的代码示例、笔记、博客总结,并在社区或 GitHub 上积极互动,有助于你建立长期学习与分享的习惯。这种持续的、实践导向的学习方式,将帮助你不断精进成为一名合格且与时俱进的 Web3 开发者。

参考

https://roadmap.sh/blockchain