ERC20代币从零到一:在 Sepolia 测试网完成创建与部署完整指南

Posted by Hiky 加密观察 on September 5, 2025

用浏览器即可开启的零基础合约之旅:无需昂贵 Gas,没有合约审计门槛,仅需一台电脑与 30 分钟时间,你就能在 Sepolia 测试网 上亲手打造 ERC20代币

为什么要自己做 ERC20 代币?

ERC20 是区块链世界最常用的 同质化代币标准,广泛用于 稳定币、治理币、质押凭证 等场景。在测试网演练,不仅能熟悉 Solidity 合约开发Remix 在线 IDE,还能为后续主网上线积累经验。

核心关键词:ERC20代币Sepolia测试网智能合约部署Solidity开发Remix使用MetaMask链接OpenZeppelin库代币供应量设计


01 前期准备:工具与环境检查清单

步骤 说明 关键词提示
安装 MetaMask 插件 浏览器扩展商店搜索即可 MetaMask链接
获取 SepoliaETH 访问水龙头领取测试币 Sepolia测试网
打开 Remix IDE https://remix.ethereum.org Remix使用

👉 5 分钟快速检查环境:一键领取免费 SepoliaETH 并绑定测试网


02 设计智能合约:用 OpenZeppelin 模板 10 行完成

🆕 新建文件

在 Remix 左侧 File Explorer 右键 → New File → MyToken.sol

✍️ 基础模板:一次性铸造全部代币

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

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract MyToken is ERC20 {
    constructor() ERC20("MyFirstToken", "MFT") {
        _mint(msg.sender, 10000 * 10**18);
    }
}

解释:

  • ERC20("MyFirstToken", "MFT"):同时给 ERC20代币 命名和设置符号。
  • _mint(msg.sender, amount):默认小数 18 位,10000 * 10**18 代表发放 1 万枚

03 代币供应量进阶设计:固定、无限增发与上限增发

类型 特征 适用场景
固定供应 一次性铸完,不可再增发 社群空投、纪念币
无限增发 通过函数动态发行 游戏任务奖励
上限增发(Capped) 总量受控制,按需释放 初创 DeFi 协议

示例:使用 ERC20Capped 限制总量

import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol";

contract MyCappedToken is ERC20Capped {
    constructor(uint256 cap) ERC20("CappedToken", "CAP") ERC20Capped(cap) {}
}

04 权限控制:别让陌生人随意增发代币

最简单的方法是 Ownable——仅合约拥有者可调用敏感函数。

import "@openzeppelin/contracts/access/Ownable.sol";

contract MyToken is ERC20, Ownable {
    constructor() ERC20("MyFirstToken", "MFT") Ownable(msg.sender) {}

    function issueToken(address to, uint256 amount) public onlyOwner {
        _mint(to, amount);
    }
}

05 Remix 部署实战:编译 → 连接钱包 → 部署一条龙

  1. Compile:Sol 编译器版本切换到 0.8.7,点击 Compile MyToken.sol
  2. Deploy
    • ENVIRONMENTInjected Provider - MetaMask
    • 钱包确认连接
  3. 设置构造参数:若选择上限增发,填写 cap=1000000 * 10**18(即 100 万枚)。
  4. 确认交易:MetaMask 弹窗 → 确认 Gas → 数秒后链上完成。

👉 这份实战视频演示从代码到钱包到账全程


06 一键添加代币到 MetaMask:查看余额超简单

  1. 复制 智能合约地址
  2. MetaMask → Tokens → Import tokens → 粘贴地址 → Symbol/Decimals 自动读取 → 添加。
  3. 你将在资产页面看到 MFT 图标和余额。

07 与已部署合约交互:调用函数 & 模拟真实业务流

函数颜色 支付 作用示例
橙色 需支付 issueToken(...) 增发代币给别人
蓝色 免费 balanceOf(addr) 查余额

只需返回 Remix → 部署 & 运行 → 选中已部署的 ERC20代币 → 点击相应函数即可测试。


常见问题 FAQ

Q1:MetaMask 没有 Sepolia 网络怎么办?
A1:Settings → Networks → Add network → 使用 chainlist.org 一键添加 Sepolia 测试网

Q2:水龙头没领到 SepoliaETH?
A2:尝试多家水龙头:pk910、Alchemy、Infura,间隔 24 小时再试。

Q3:部署按钮灰色无法点击?
A3:检查 Solidity 编译器版本是否与源码声明匹配;或清理 Remix 缓存后刷新页面。

Q4:代币符号显示“Unknown”
A4:MetaMask 人工填错 symbol 或 decimals,重填即可。

Q5:主网部署 gas 费太高?
A5:实战第一阶段确认逻辑无误后,使用 Hardhat 做本地测试与脚本部署,可显著降低主网上线风险与成本。


写在最后:从测试网到主网的路径

本教程全部流程同样适用于 以太坊主网,唯一区别在于你需要:

  1. 连接主网节点(Alchemy/Infura)。
  2. 准备足够 ETH 支付 Gas 费
  3. 使用 Hardhat 或 Truffle 脚本批量部署 & 验证(教程下期详细拆解)。

先从 ERC20代币Sepolia测试网 的这次演练开始掌握 Solidity开发智能合约部署——迈出 web3 独立开发者第一步,你准备好了吗?