Web3基础概念-ERC-20

以下内容以正式、准确、面向业务与技术的方式解释 ERC-20 代币是什么

Request for Comments” 翻译成中文是:征求意见稿征求评论

这个术语最常见的背景是在 互联网和计算机技术标准化领域,例如 RFC(Request for Comments)文档,就是互联网工程任务组(IETF)发布的技术规范或标准草案。它的流程通常是:

  1. 某个人或组织提出一个技术想法或标准草案。
  2. 发布为 RFC 文档,向社区 征求意见
  3. 社区成员可以评论、提出改进意见。
  4. 最终通过讨论,可能成为正式标准。

所以 Request for Comments 并不是“正式的标准”,而是一种公开征求社区意见的文档或提案

ERC 是 以太坊征求意见稿的缩写(Ethereum Request for Comments)。

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和RFC

好的,我们可以仔细分析一下 ERC(Ethereum Request for Comments)RFC(Request for Comments) 的异同。它们都是技术标准文档,但背景、目的和应用场景差异很大。


1️⃣ RFC(Request for Comments)

背景

  • RFC 是互联网工程任务组(IETF)制定的标准文档。
  • 用于定义互联网协议、系统、算法、文件格式等。
  • 历史悠久,最早 RFC 可以追溯到 1969 年。

特点

  • 目标:规范互联网协议和技术实现(如 TCP/IP、HTTP、SMTP 等)。

  • 编号:每个 RFC 有唯一编号,如 RFC 791(IPv4)、RFC 2616(HTTP/1.1)。

  • 过程

    1. 提交草案(Internet-Draft)
    2. 社区讨论、修改
    3. 最终发布为 RFC(标准、建议或实验性)
  • 正式性:RFC 可以成为正式互联网标准,也可以只是建议或实验性文档。

应用场景

  • 网络协议(TCP/IP、HTTP、DNS)
  • 加密算法标准(TLS、SHA)
  • 文本格式(MIME、JSON 早期草案)

2️⃣ ERC(Ethereum Request for Comments)

背景

  • ERC 是以太坊社区制定的代币标准、智能合约接口标准。
  • 专门用于 Ethereum 区块链生态。

特点

  • 目标:定义智能合约的接口和行为,使不同合约和应用可以互操作。

  • 编号:ERC-20、ERC-721、ERC-1155 等,每个编号唯一。

  • 过程

    1. 开发者提出标准草案(EIP — Ethereum Improvement Proposal)
    2. 社区讨论
    3. 最终成为 ERC 标准
  • 正式性:ERC 标准通常是社区共识,但不强制执行,智能合约可选择遵守或不遵守。

应用场景

  • 代币标准(ERC-20、ERC-777)
  • NFT 标准(ERC-721、ERC-1155)
  • 去中心化应用接口标准

3️⃣ 异同总结

特性 / 标准 RFC ERC
背景 互联网 / IETF 以太坊 / EIP
目标 网络协议、算法、文件格式标准化 智能合约接口、代币标准化
文档编号 RFC + 数字 ERC + 数字(基于 EIP 草案)
适用范围 广泛互联网技术 以太坊区块链生态
社区参与 IETF 成员、开发者、专家 以太坊开发者、社区成员
正式性 可成为互联网标准 社区共识,不强制执行
应用示例 HTTP、TCP/IP、SMTP ERC-20、ERC-721、ERC-1155

💡 总结

  • RFC 更通用、历史悠久、面向整个互联网技术,偏重协议和系统标准化。
  • ERC 更专注 Ethereum 区块链,偏重智能合约和代币标准化。
  • 两者流程类似:提出草案 → 社区讨论 → 标准化,但 RFC 更官方,ERC 更社区驱动。

ERC-20、ERC-777 和 ERC-1155 三种 Ethereum 代币标准的技术差异

好的,我们来仔细分析一下 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 生态和功能对比的流程图,让它一眼就能看出差异和应用场景。

你希望我画吗?

BEP-20

BEP-20 是 Binance Smart Chain (BSC) 上的一种代币标准,相当于以太坊上的 ERC-20。它定义了在 BSC 上发行代币时必须遵守的接口和规则,使代币能够在钱包、交易所和智能合约之间互通。

简单来说,BEP-20 是一个技术规范,确保代币能被智能合约、DEX(去中心化交易所)、钱包等兼容使用。

主要特点

  1. 兼容性强
    BEP-20 与 ERC-20 非常相似,因此很多以太坊工具可以通过稍作修改支持 BEP-20 代币。

  2. 支持多种操作
    BEP-20 代币必须实现的核心函数包括:

    • totalSupply():总供应量
    • balanceOf(address):查询账户余额
    • transfer(address, uint256):代币转账
    • approve(address, uint256) & transferFrom(address, uint256):授权和代币代理转账
  3. 扩展功能
    除了基本 ERC-20 功能,BEP-20 还支持:

    • mint():增发代币
    • burn():销毁代币
    • 可以定义代币小数位、符号、名称等信息
  4. 应用场景

    • 去中心化交易所(DEX)交易
    • 跨链资产桥接
    • DeFi 协议使用(借贷、质押、收益农场)
    • NFT 或游戏内代币

💡 总结:BEP-20 就是 BSC 上的“ERC-20”,是一个标准化协议,让代币能在生态中自由流通。

如果你想,我可以画一张图,把 ERC-20、BEP-20、BEP-721、ERC-721 的关系和区别一眼看懂。你想要吗?