Web3基础概念-ERC-20
以下内容以正式、准确、面向业务与技术的方式解释 ERC-20 代币是什么。
ERC-20 代币是什么?
ERC-20 是以太坊区块链上最常用、最基础的代币标准。
任何按照 ERC-20 规范编写的智能合约生成的代币,都被称为 ERC-20 代币。
一句话总结:
ERC-20 = 以太坊通用代币标准
ERC-20 代币 = 运用这个标准发行的代币(可转账、可存储、可交易)。
ERC-20 为什么重要?
在以太坊诞生初期,每个项目团队自己写一套代币合约,接口不一致,钱包和交易所无法通用支持,生态混乱。
为解决这个问题,以太坊社区提出统一标准:ERC-20(Ethereum Request for Comments #20)。
其意义在于:
- 所有 ERC-20 代币都能被任意钱包(MetaMask 等)识别
- 交易所、DEX、DeFi 协议可以统一接入
- 开发者只需按照标准写合约,就能实现代币功能
它统一了整个以太坊代币生态,是 DeFi 爆发的基础。
ERC-20 的核心功能(接口标准)
ERC-20 令牌必须实现以下基本功能:
totalSupply
查询代币总供应量balanceOf(address)
查询某个地址的余额transfer(to, amount)
直接向地址发送代币approve(spender, amount)
授权某个地址(如合约)代你消费代币transferFrom(from, to, amount)
被授权的合约或地址代你转账allowance(owner, spender)
查询授权额度
以上就是让 ERC-20 能在 DeFi 里无缝互通的基础。
典型 ERC-20 代币举例(都是你熟悉的币)
几乎所有知名币都是 ERC-20:
- USDT(以太坊版本)
- USDC
- DAI
- LINK
- UNI
- AAVE
- SHIB
- SAND
- MATIC(早期版)
甚至许多游戏币、治理币都是 ERC-20。
ERC-20 为什么能产生如此大影响?
因为 ERC-20 代币是:
- 可编程货币:可以被智能合约调用
- DeFi 的燃料:Uniswap、Aave、MakerDAO 全依赖它
- ICO 的基础:2017 代币融资热潮全部基于 ERC-20
- NFT 之前的主流资产形式
它构成了以太坊生态中数量最多、使用最广的资产形态。
ERC-20 与 ETH 的区别
| 项目 | ETH | ERC-20 代币 |
|---|---|---|
| 发行方式 | 原生区块链资产 | 由智能合约发行 |
| 作用 | 区块链 gas、质押、价值存储 | 应用场景代币、治理代币、稳定币等 |
| 控制权 | 由以太坊协议控制 | 由该项目的合约控制 |
| 是否需要 gas | 转账需要 gas | 转账也需要 gas(支付 ETH) |
ERC-20 是以太坊上的“应用层资产”,ETH 才是协议原生资产。
ERC-20 的常见应用类型
- 稳定币(USDC、USDT、DAI)
- 治理代币(UNI、AAVE)
- 平台代币(LINK、MKR)
- 游戏代币(AXS、SAND)
- Memecoin(SHIB 等)
- ICO/IEO 发行代币
几乎所有 Web3 项目早期都会用 ERC-20 构建代币经济系统。
简明总结(面试级回答)
ERC-20 是以太坊最重要的代币标准,定义了代币如何发行、转移、授权等操作。任何遵循此标准创建的代币都称为 ERC-20 代币,它们能够被钱包、交易所和 DeFi 协议统一支持。ERC-20 代币构成了以太坊生态中绝大多数可交易的资产,是整个 DeFi 世界的基础设施。
如果你愿意,我可以继续讲解:
- ERC-20 与 ERC-721(NFT)的区别
- 如何用 Solidity 写一个最简单的 ERC-20 合约
- 为什么 ERC-20 转账需要 ETH 支付 gas
- ERC-20、ERC-777、ERC-1155 的技术差异分析
你希望了解哪部分?
好的,我们来仔细分析一下 ERC-20、ERC-777 和 ERC-1155 三种 Ethereum 代币标准的技术差异,包括它们的功能、优势、局限性,以及适用场景。
1️⃣ ERC-20
概述
- 最早也是最常用的代币标准(2015年提出)。
- 用于创建同质化代币(Fungible Token,FT),即每个代币单位是完全相同的,互换性强。
- 主要用于货币型代币、交易所代币、DeFi 协议代币。
核心功能/接口
totalSupply()— 总发行量balanceOf(address)— 查询账户余额transfer(address, uint256)— 转账approve(address, uint256)&transferFrom(address, uint256)— 授权与代理转账allowance(address, address)— 查询授权额度
优点
- 实现简单,易于集成。
- 广泛支持:几乎所有钱包、交易所都支持 ERC-20。
缺点
- 安全问题:
transferFrom与approve的授权机制容易引发双重支出或操作错误。 - 不支持高级功能,如操作回调或批量转账。
适用场景
- 代币化货币
- DeFi 平台流动性代币
- 投票或治理代币(非复杂功能需求)
2️⃣ ERC-777
概述
- ERC-20 的升级版本,旨在解决 ERC-20 的缺陷(2018年提出)。
- 支持高级操作回调(hook functions),允许智能合约在接收代币时自动处理逻辑。
- 保持与 ERC-20 向后兼容。
核心特点
send和operatorSend替代transfer,增加操作员(operator)概念。tokensReceived回调函数:接收方可以在收到代币时立即触发智能合约逻辑。- 支持批量转账与更安全的授权机制。
优点
- 增强安全性,减少 ERC-20 的授权漏洞。
- 更适合复杂交互场景:DeFi 协议、自动化转账、DAO。
- 保持 ERC-20 兼容性,兼容现有生态。
缺点
- 实现复杂,对旧钱包/交易所兼容性有限。
- 使用门槛高,生态支持度不如 ERC-20 广泛。
适用场景
- 需要高级回调功能的智能合约代币
- 自动化 DeFi 操作
- 企业或平台内部通证
3️⃣ ERC-1155
概述
- 由 Enjin 团队提出,目标是创建多标准代币合约(2019年提出)。
- 支持同质化(FT)和非同质化(NFT)混合代币在同一个合约中管理。
- 支持批量操作,显著降低交易成本。
核心特点
balanceOf(address, id)— 查询某个代币 ID 的余额safeTransferFrom(address, address, id, amount, data)— 转账指定代币 ID- 批量操作:
safeBatchTransferFrom() - 代币 ID 可表示不同物品或资产(游戏道具、NFT 等)
优点
- 单个合约管理多种代币类型,节约 gas。
- 支持 NFT 和 FT 混合逻辑。
- 批量转账,提高效率。
缺点
- 标准复杂,实现难度高。
- 钱包与交易所支持不如 ERC-20/NFT 标准(如 ERC-721)广泛。
适用场景
- 游戏资产(可同质化金币 + NFT 道具)
- NFT 平台,尤其是多类型代币混合场景
- 批量操作需求高的资产管理
4️⃣ 总结对比表
| 特性 / 标准 | ERC-20 | ERC-777 | ERC-1155 |
|---|---|---|---|
| 代币类型 | 同质化 | 同质化 | 同质化 + 非同质化 |
| 支持回调 | ❌ | ✅ (tokensReceived) |
✅ (onERC1155Received) |
| 批量操作 | ❌ | ❌ | ✅ (safeBatchTransferFrom) |
| 安全性 | 普通 | 高(更安全授权) | 高 |
| 生态兼容 | 最广 | 良好 | 较有限 |
| 场景 | 货币、DeFi | 自动化 DeFi、复杂智能合约 | 游戏、NFT、混合资产 |
💡 总结要点
- ERC-20:最基础、兼容性强、只支持同质化代币。
- ERC-777:ERC-20 升级版,增加回调和操作员机制,适合复杂智能合约操作。
- ERC-1155:多代币管理,支持 FT + NFT、批量操作,适合游戏和 NFT 平台。
如果你想,我可以画一张ERC-20、ERC-777、ERC-1155 生态和功能对比的流程图,让它一眼就能看出差异和应用场景。
你希望我画吗?