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 令牌必须实现以下基本功能:

  1. totalSupply
    查询代币总供应量

  2. balanceOf(address)
    查询某个地址的余额

  3. transfer(to, amount)
    直接向地址发送代币

  4. approve(spender, amount)
    授权某个地址(如合约)代你消费代币

  5. transferFrom(from, to, amount)
    被授权的合约或地址代你转账

  6. 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 的常见应用类型

  1. 稳定币(USDC、USDT、DAI)
  2. 治理代币(UNI、AAVE)
  3. 平台代币(LINK、MKR)
  4. 游戏代币(AXS、SAND)
  5. Memecoin(SHIB 等)
  6. 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。

缺点

  • 安全问题:transferFromapprove 的授权机制容易引发双重支出或操作错误。
  • 不支持高级功能,如操作回调批量转账

适用场景

  • 代币化货币
  • DeFi 平台流动性代币
  • 投票或治理代币(非复杂功能需求)

2️⃣ ERC-777

概述

  • ERC-20 的升级版本,旨在解决 ERC-20 的缺陷(2018年提出)。
  • 支持高级操作回调(hook functions),允许智能合约在接收代币时自动处理逻辑。
  • 保持与 ERC-20 向后兼容。

核心特点

  • sendoperatorSend 替代 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、混合资产

💡 总结要点

  1. ERC-20:最基础、兼容性强、只支持同质化代币。
  2. ERC-777:ERC-20 升级版,增加回调和操作员机制,适合复杂智能合约操作。
  3. ERC-1155:多代币管理,支持 FT + NFT、批量操作,适合游戏和 NFT 平台。

如果你想,我可以画一张ERC-20、ERC-777、ERC-1155 生态和功能对比的流程图,让它一眼就能看出差异和应用场景。

你希望我画吗?