github编辑

智能合约开发实验指南

本章提供了一系列循序渐进的实验教程,帮助开发者从零开始掌握以太坊智能合约的开发、部署和交互。所有实验都可以在本地环境中完成,无需花费真实的以太币。

实验 0:搭建开发环境

0.1 使用 Remix IDE(无需本地环装)

Remix 是官方提供的浏览器 IDE,无需任何安装,立即可用。

访问地址:https://remix.ethereum.org

优点

  • 无需安装,打开浏览器即可

  • 内置编译器和调试器

  • 支持直接连接本地区块链和测试网

创建第一个合约

  1. 打开 Remix IDE

  2. 在左侧文件面板中,点击 "+" 创建新文件

  3. 命名为 HelloWorld.sol

  4. 输入以下代码:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract HelloWorld {
    string public message = "Hello, Blockchain!";

    function updateMessage(string memory newMessage) public {
        message = newMessage;
    }

    function getMessage() public view returns (string memory) {
        return message;
    }
}
  1. 点击左侧 "Solidity Compiler" 图标(看起来像一个积木)

  2. 选择编译器版本 0.8.0 或以上

  3. 点击 "Compile HelloWorld.sol"

  4. 如果没有错误,你应该看到绿色的 "Compile" 按钮

0.2 Hardhat 本地开发环境搭建

Hardhat 是以太坊开发的业界标准框架,提供强大的测试、调试和部署功能。

安装步骤

项目结构

0.3 验证环境

如果以上命令都成功执行,恭喜!开发环境已搭建完成。

实验 1:部署和调用简单合约

目标:理解合约的基本结构、部署过程和状态查询。

合约代码 (contracts/SimpleStorage.sol):

编写测试 (test/SimpleStorage.test.js):

运行测试

预期输出

实验 2:代币合约(ERC-20)

目标:理解标准合约接口、代币的基本操作(转账、授权)。

合约代码 (contracts/SimpleToken.sol):

测试代码 (test/SimpleToken.test.js):

运行测试

实验 3:使用 Ganache 搭建本地测试网

Ganache 是一个功能更强大的本地区块链模拟器,提供 GUI 界面和更多调试功能。

安装 Ganache

启动 Ganache

Ganache 提供的好处

  • 10 个预生成的账户,每个初始 100 ETH

  • 可视化的区块链状态

  • 详细的交易日志

  • 时间快进功能(用于测试时间锁)

在 Hardhat 中配置 Ganache

使用 Ganache 运行测试

实验 4:在测试网部署合约

选择测试网

  • Sepolia(推荐):最新的以太坊官方测试网

  • Goerli:已弃用,勿用

  • Mumbra:Polygon 测试网

获取测试代币

配置网络 (hardhat.config.js):

创建 .env 文件

部署脚本 (scripts/deploy.js):

执行部署

验证合约 (在 Etherscan 上公开代码):

实验 5:与合约交互

创建交互脚本 (scripts/interact.js):

执行交互

实验 6:Gas 优化分析

合约优化前后对比

测试脚本分析 Gas

总结

通过以上实验,你应该掌握了:

  1. ✓ Remix 和 Hardhat 开发环境配置

  2. ✓ 基本合约编写和编译

  3. ✓ 单元测试的编写和运行

  4. ✓ 合约部署到本地和测试网

  5. ✓ 与合约的交互和事件监听

  6. ✓ Gas 优化和性能分析

下一步建议

  • 学习高级 Solidity 特性(继承、接口、库)

  • 阅读和分析现有项目的合约代码

  • 参与 Hackathon,实现真实项目

  • 进行代码审计,学习安全最佳实践

所有代码都已经过测试,可直接使用。祝你开发愉快!

最后更新于