ERC20 实战指南:30 分钟发行你的第一条加密代币

·

想亲手把“数字资产”写进区块链,却不知道从哪一步开始?本篇手把手教程浓缩 ERC20 代币标准Solidity 实战细节完整部署流程,让你 30 分钟就能发行一条完全属于自己的加密代币。


什么是 ERC20?一句话读懂核心逻辑

这九大关键词组成了代币“记账方式”的骨架,简单却强大。


四个日常场景,告诉你 ERC20 到底能做什么

场景传统痛点ERC20 解法
团体内积分Excel 表易篡改链上透明结算
项目众筹信任问题智能合约锁仓
游戏道具孤岛经济代币溢出到 DeFi
公司期权记账不透明代码即法律

准备工作:三条命令搭好本地环境

  1. 安装 Node.js(≥ 18 LTS)
  2. npm install --global hardhat(最流行的 Solidity 开发框架)
  3. 新建项目 & 私钥隔离:

    npx hardhat init
    mkdir secrets && echo ".env" > .gitignore

👉 如果本地配置踩坑,点这里获取一键脚本,秒速跳过常见错误


手把手:10 行代码生成最小可行代币(MVT)

文件:contracts/MyToken.sol

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

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

contract MyToken is ERC20 {
    constructor() ERC20("MyToken", "MTK") {
        _mint(msg.sender, 1000000 * 10 ** decimals()); // 发行量 100 万
    }
}

Hardhat 三连胜:

npx hardhat compile
npx hardhat test
npx hardhat run scripts/deploy.js --network goerli

常见坑位与预防


FAQ | 新手机率问答

Q1:刚发行,为什么会提示 “Insufficient Allowance”?
A:合约默认不会自动授权他人动你的币。调用 approve(spender, amount) 解决,链上交互时也别忘了留足 Gas。

Q2:18 位 decimals 能改吗?
A:可以,但主流钱包会按 18 位显示 UI,改成 8 位后,用户看到的余额会乘以 10^10,体验崩坏。除非做特定行业(如游戏 0 位 decimals),否则别动。

Q3:ERC20 与 ERC777、BEP20、TRC20 差别?
A:


进阶玩法:30 秒把代币加进 MetaMask 自动识别

  1. 打开移动端 MetaMask → 添加代币 → 合约地址自动填充其余字段
  2. 如果找不到,把 MyTokenMTK、18 decimals 手工填进去即可。
  3. 上线去中心化交易所只需添加流动性;主流聚合器(Uniswap、Sushi)会自动发现。

👉 这里有一份“主流测试网水龙头导航”,轻松领取 Goerli ETH 免 Gas 费


实战案例:如何用新代币换来首场“流动性首矿”

  1. 准备 0.3 ETH + 等量 MyToken → Uniswap V2 Pair → 获得 LP Token
  2. 把 LP 质押到激励池 → 实时获得治理代币奖励
  3. 在社区宣告 “提供流动性抽奖” → 30 分钟攻占社媒热搜

写在最后的三句话

  1. ERC20 只是开始:理解记账接口后,可继续向 NFT、DAO、DeFi 拓展。
  2. 代码即法律,审计要跟得上:上主网前读 OpenZeppelin 的 Checklist,或直接用 Defender 一键扫描。
  3. 牛市熊市都一样:会写合约,你自带“印钞机”;会读合约,你自带“防火墙”。

准备好了吗?现在就打开编辑器,把上文的 10 行代码黏进去,下一个代币创始人也许就是正在阅读的你。