跳转至

阶段二:以太坊与智能合约

在以太坊(或兼容 EVM 的链)上编写、部署、验证最简合约,并理解存储、函数可见性与常见标准接口。

学习目标

  • 理解 EVM 执行模型:calldata、memory、storage、栈的大致分工。
  • 能用 Solidity 编写带状态与事件的合约,并在本地或测试网部署。
  • 了解 ERC-20(同质化代币)与 ERC-721(NFT)在接口层面的区别。
  • 熟悉 OpenZeppelin 等库的定位:复用审计过的实现,而非从零写代币逻辑。

核心概念

Solidity 入门要点

  • 状态变量 常驻链上 storage,成本高;局部变量 多在 memory 或栈上。
  • 可见性public / external / internal / privatepayable 才可接收 ETH。
  • 事件(Events):链下索引与前端监听依赖日志;注意 indexed 参数数量限制。
  • modifier:复用权限检查与流程钩子(勿过度复杂化)。

代币与标准

  • ERC-20transferapprove / transferFrom、余额与授权(授权是常见钓鱼与漏洞面)。
  • ERC-721:tokenId 唯一、所有权映射、URI 指向元数据。

工具链

  • Remix:零安装上手,适合第一节课。
  • Hardhat / Foundry:项目化、测试、分叉主网调试;职业开发必备其一。

实践任务

  1. 在 Remix 部署一个合约:存储一个数字,提供 setget,触发事件。
  2. 用 Hardhat 或 Foundry 初始化项目,为上述逻辑写单元测试(含异常路径)。
  3. 在测试网部署,并在 Etherscan 上验证合约源码,读一遍「Read / Write Contract」页。

自检清单

  • 能解释 storagememory 选错会导致的典型问题(或 gas 异常)。
  • 能说明 approve 被滥用时用户面临的风险(无限授权等)。
  • 能独立部署并验证一份非玩具合约到测试网。

延伸阅读

上一阶段阶段一:基础与链上常识下一阶段阶段三:DApp 开发与实践