一文读懂以太坊的ERC-20:它是哪个链?如何发行自己的代币?

·

关键词:以太坊、ERC-20、智能合约、代币发行、ETH、区块链、DeFi、元掩网、Remix

当你第一次接触到「ERC-20」这个词,大概率会被各种概念绕晕:它是条独立的链吗?和以太坊有什么关系?普通人能不能自己发币?本文带你从零拆解。


一、ERC-20是什么链?先弄清底层逻辑

一句话总结:ERC-20不是一条独立的新链,而是运行在「以太坊」之上的代币标准
可以把以太坊(Ethereum)理解成一条高速公路,而 ERC-20 就是在这条路上统一规格的车辆,让所有「车子」拥有相同的仪表盘、油门、刹车,于是不同钱包、DApp、交易所才能无障碍兼容。

截至 2025 年第一季度,官方统计已有 35 万 + 份成功部署的 ERC-20合约,占据整个以太坊生态 80 % 以上的代币类型。USDT、USDC、DAI、UNI、AAVE 等耳熟能详的币种,全都采用了这一标准。

ERC-20六大核心接口(开发者速览)

  1. totalSupply() 代币总发行量
  2. balanceOf() 查询地址余额
  3. transfer() 地址间转账
  4. transferFrom() 授权代理转账
  5. approve() 授权额度
  6. allowance() 查询授权额度

正是这 6 个函数 + 2 个事件,构建出了今日去中心化金融(DeFi)坚实的地基。


二、为什么一定要用以太坊?

很多人疑惑:发币不是随便一条公链都行吗?答案是:就行,但不通用

以太坊拥有最成熟的开发者工具(Truffle、Hardhat、Foundry)、最活跃的钱包生态(MetaMask、Rainbow、Rabby),以及最庞大的流动性网络(Uniswap、Curve、Balancer)。
换句话说,只有选择以太坊+ERC-20,才能让代币第一时间获得「钱包+交易所+DApp」的三重兼容

👉 跟着十分钟实战教程,从填参数到上主网,动手就懂

三、手把手演示:15 分钟发行你的首个代币

1. 环境准备

2. 编写智能合约(Solidity 0.8.x)

pragma solidity ^0.8.0;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract MyToken is IERC20 {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private _totalSupply;
    string public name;
    string public symbol;
    uint8 public decimals;

    constructor(uint256 initialSupply, string memory tokenName, string memory tokenSymbol) {
        _totalSupply = initialSupply * 10 ** 18;
        _balances[msg.sender] = _totalSupply;
        name = tokenName;
        symbol = tokenSymbol;
        decimals = 18;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        require(_balances[msg.sender] >= amount, "Insufficient balance");
        _balances[msg.sender] -= amount;
        _balances[recipient] += amount;
        emit Transfer(msg.sender, recipient, amount);
        return true;
    }

    // 其余函数省略 ...
}

复制粘贴到 Remix,编译 ➡️ Deploy ➡️ MetaMask 签名确认 ➡️ 合约上链。

3. 验证代币已生成

恭喜,你已成功发行 2100 万枚测试网 HYT 代币,全流程零成本、零 Gas。


四、ERC-20 代币 VS 传统积分:为什么前者能「变现」?

对比维度腾讯Q币游戏金币ERC-20代币
发行主体腾讯公司游戏厂商任何人(无需许可)
用途边界仅限腾讯体系仅限单款游戏全链DApp自由流通
二级市场官方禁止官方禁止可在DEX、CEX自由交易
价格波动固定 1:1固定受市场供求影响,可暴涨暴跌

一句话:能否自由兑换成其他资产,决定了代币的价值捕获空间。Q币价值=腾讯信用;ERC-20代币价值=全球共识。


五、从 ERC-20 延伸至 DeFi:10 亿+ TVL 的真实用例

SWRV 为例,它是 Curve fork 项目 Swerve 的治理代币,同样遵循 ERC-20 标准。用户只需把稳定币(USDC、DAI 等)注入流动池即可获得 SWRV 奖励;随后在 Uniswap 卖掉,即可把协议收入变现。
2020 年 12 月,Swerve 质押总价值(TVL)峰值 9.7 亿美元,再一次验证 ERC-20 的「乐高」可组合威力。


六、FAQ:关于 ERC-20 的 5 个最常见疑问

Q1:ERC-20 会出现「Css2018 的 token」吗?
A:不会。ERC-20 ≠ 新链,也不像 BNB Smart Chain 那样分叉。只要以太坊主网升级(EIP-1559 → Merge → Danksharding),它天然跟着进化。

Q2:ERC-20 代币支持 Layer2 吗?
A:支持。OP、ARB、zkSync Era 都原生兼容 Solidity 编译后的 ERC-20,通过桥接即可跨层流动,Gas 可从 20 美元瞬间降到 0.01 美元以下。

Q3:我想让代币可销毁(Deflation)怎么做?
A:在合约中加入 burn 函数,把指定数量的代币打入黑洞地址 0x000...dead,触发自定义的 Transfer 事件即可。Uniswap 的 UNI 与 SHIB 都有这样的机制。

Q4:代币名称重复怎么办?
A:上链后合约地址即唯一标识,名称和符号可以重复,投资者认准合约地址即可。因此宣传时务必贴合约地址而非仅仅贴名称。

Q5:部署主网要花多少钱?
A:2025 年主流工具预估 50–100 美元一次,视网络拥堵程度而定。使用 Layer2 或 EIP-4844 后可能降至 < 5 美元


七、结语:发币只是开始,场景才是王道

发行一枚 ERC-20 代币本身不再需要高级开发技能,真正的分水岭在于:你能否为代币设计可持续的使用场景与价值捕获模型

当「发行平价」变得无限趋近于零,代币背后的社群、产品、创意才成为护城河。未来最稀缺的依旧是好点子,以及把点子落地的执行力。

👉 一键查看当前热门 DeFi 代币与对应合约实例

👉 探索链上数据分析工具与可视化教程

祝你在以太坊的世界里玩得开心,也请永远记住:代码可信,但人性不可低估;金融创新,也是风险敞口。