用浏览器即可开启的零基础合约之旅:无需昂贵 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 部署实战:编译 → 连接钱包 → 部署一条龙
- Compile:Sol 编译器版本切换到 0.8.7,点击
Compile MyToken.sol
。 - Deploy:
ENVIRONMENT
→Injected Provider - MetaMask
- 钱包确认连接
- 设置构造参数:若选择上限增发,填写
cap=1000000 * 10**18
(即 100 万枚)。 - 确认交易:MetaMask 弹窗 → 确认 Gas → 数秒后链上完成。
06 一键添加代币到 MetaMask:查看余额超简单
- 复制 智能合约地址。
- MetaMask → Tokens → Import tokens → 粘贴地址 → Symbol/Decimals 自动读取 → 添加。
- 你将在资产页面看到 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 做本地测试与脚本部署,可显著降低主网上线风险与成本。
写在最后:从测试网到主网的路径
本教程全部流程同样适用于 以太坊主网,唯一区别在于你需要:
- 连接主网节点(Alchemy/Infura)。
- 准备足够 ETH 支付 Gas 费。
- 使用 Hardhat 或 Truffle 脚本批量部署 & 验证(教程下期详细拆解)。
先从 ERC20代币 在 Sepolia测试网 的这次演练开始掌握 Solidity开发 与 智能合约部署——迈出 web3 独立开发者第一步,你准备好了吗?