ERC-20代币是什么?它如何工作?

2026-05-30分类:区块链技术 阅读(

ERC-20 是以太坊上可互换代币(Fungible Tokens)的标准接口。它就像一种通用语言,定义了余额如何转移、应用如何集成资产,以及如何避免昂贵的错误。

本文将详细解释 ERC-20 的含义、转账和授权的工作原理、Gas 费用、真实示例、主要风险以及给初学者的实用建议。我们先澄清 ERC-20 的概念,然后逐步介绍其核心函数、事件和日常使用流程。

什么是 ERC-20?

ERC-20 是以太坊针对可互换代币的规范接口。可互换代币是指像美元一样可以一对一互换的单位。在以太坊网络中,所有改进和标准化都通过 EIP(Ethereum Improvement Proposals)提出。当提案涉及应用或代币标准时,通常被称为 ERC(Ethereum Request for Comments)。虽然正式名称是 EIP-20,但人们普遍称之为 ERC-20。

ERC-20 标准规定了智能合约必须暴露的函数(如 totalSupply、balanceOf、transfer、approve、transferFrom)和事件(Transfer、Approval)。这让 dApp 无需用户私钥就能代表用户移动代币。

遵循同一标准的代币可以在钱包、交易所和各种应用中顺畅工作。这与 ERC-721 等 NFT 标准不同,后者中的每个代币都是独特的。

为什么 ERC-20 成为最受欢迎的以太坊代币标准?

ERC-20 的成功在于它实现了“即插即用”。钱包、交易所和 dApp 一旦实现该标准,就能无需定制代码直接支持任何符合标准的代币。对项目方来说,新代币可以立即兼容 MetaMask、硬件钱包、中心化交易所存取款系统以及 DeFi 路由器。

这种标准化加速了代币上线、降低了成本,并形成了强大的网络效应:更多 ERC-20 代币催生更多工具、托管方案和流动性,反过来又吸引新项目采用 ERC-20。OpenZeppelin 等可信库和常见审计模式进一步降低了风险和上市时间。

相比之下,ERC-777 等竞争标准因采用摩擦和权衡问题未能广泛取代 ERC-20。

ERC-20 代币为什么重要(初学者必知)

日常加密活动中到处都能看到 ERC-20 代币:

  • 稳定币:USDC、USDT、DAI 用于稳定价值、支付结算,并在以太坊生态中广泛流通。
  • DeFi 接入:在 Uniswap、Aave 等平台直接用于交易、借贷和流动性池,无需定制集成。
  • 治理代币:UNI、COMP、MKR 授予 DAO 投票权,用户可通过连接钱包参与提案决策。
  • 交易所上市与钱包转账:标准化流程让代币轻松获得存取款支持,钱包和浏览器也能统一显示余额和转移记录。

ERC-20 标准的关键特点

可互换代币(Fungible Tokens)

“可互换”意味着每个单位完全相同,可以一对一交换。ERC-20 代币不追踪单个“序列号”,智能合约只记录每个地址的余额。大多数代币支持小数位(通常 6 或 18 位),便于精确小额支付。

ERC-20 代币是智能合约(而非“币”)

ERC-20 代币实际上是一个运行在以太坊或 EVM 上的智能合约。它记录代币总量和每个地址的持有量。你的钱包只存储地址,而代币余额由合约管理。ETH 是以太坊原生货币,用于支付 Gas 费。项目方可额外添加铸造(mint)、销毁(burn)或暂停转移等功能,但 ERC-20 只定义交互标准。

标准接口 vs 代币设计

ERC-20 标准化的是交互方式,而非价值、安全或供应上限。用户仍需自行验证每个代币的合约设计(是否可无限铸造、是否有转账税、是否可暂停等)。部分代币带有税费、黑名单或重置机制,使用前务必确认。

ERC-20 核心函数和事件(简单解释)

ERC-20 接口包含六个核心函数和两个标准事件,以及可选的元数据(name、symbol、decimals):

  • totalSupply:返回当前存在的代币总量(用于追踪铸造和销毁)。
  • balanceOf:查询某个地址的余额(钱包显示持仓时调用)。
  • transfer:从调用者地址直接转账(消耗 Gas)。
  • approve:授权 spender 可使用一定数量的代币(不立即转移,仅创建额度)。
  • allowance:查询剩余授权额度。
  • transferFrom:spender 使用授权额度从 owner 地址转账(DeFi 常用)。
  • Transfer 事件:代币转移时触发(包括铸造和销毁)。
  • Approval 事件:授权发生变化时触发。

这些函数和事件让钱包、交易所和 dApp 能以统一方式与代币交互。

ERC-20 代币交易如何在以太坊网络上进行?

ERC-20 转账流程清晰:钱包构建 ABI 编码调用 → 用户用私钥签名 → 支付 ETH Gas 费 → 交易被打包进区块 → 合约更新余额并发出事件。

发送 ERC-20 代币步骤(钱包到钱包)

  1. 确认正确网络和代币合约地址。
  2. 仔细检查接收地址(建议小额测试)。
  3. 确保钱包有足够 ETH 支付 Gas。
  4. 输入金额并确认小数位。
  5. 审查交易详情后签名(推荐硬件钱包)。
  6. 在区块链浏览器上追踪 Transfer 事件和到账情况。

连接 dApp 并授权代币花费步骤

  1. 确认 dApp 域名安全后连接钱包。
  2. 检查 spender(授权对象)地址是否为官方合约。
  3. 设置合理授权额度(避免“无限授权”)。
  4. 确认并签名授权交易。
  5. 操作完成后及时撤销或降低额度。

ERC-20 真实世界示例

  • 稳定币(USDC、DAI、USDT):价值锚定美元,可在不同链上发行,每条链有独立合约地址。
  • 治理代币(UNI、COMP、MKR):用于 DAO 投票决策。
  • 实用与奖励代币:用于应用内忠诚度积分、折扣或高级访问。
  • ICO 与早期募资:许多项目通过 ERC-20 发行代币,方便钱包和交易所支持。

ERC-20 在 DeFi 中的应用场景

DeFi 协议通过 ERC-20 实现无托管的存款、交易和结算。

去中心化交易所(DEX)交易

批准输入代币 → 设置滑点和截止时间 → 执行交换(路由器可能拆分订单以优化执行)。

借贷协议

批准并存入代币赚取利息,接收代表存款的特殊代币;还可作为抵押物借入其他资产。

流动性池与收益耕作

批准两种代币 → 存入流动性池 → 获得 LP 代币(代表份额),赚取交易费并可能额外质押奖励。注意无常损失风险。

存储和管理 ERC-20 代币

  • 软件钱包:方便日常 DeFi 操作,但安全性较低。
  • 硬件钱包:私钥离线存储,适合大额资产。
  • 建议小额日常使用软件钱包,大额使用硬件或多签钱包。
  • 始终验证合约地址、谨慎授权,并保留足够 ETH 支付 Gas。

Gas 费用与风险

Gas 费用随网络拥堵波动。使用 Layer 2(如 Arbitrum、Optimism)可显著降低成本。批准和转账是独立交易,部分代币支持 EIP-2612 Permit 免 Gas 授权。

主要风险(初学者 checklist):

  • 无限授权风险:恶意合约可能耗尽你的代币。
  • 假冒合约与钓鱼:始终在官方浏览器验证地址。
  • 税务代币:转账时自动扣费,影响 DEX 定价。
  • 重置(Rebase)代币:余额自动调整,可能与某些 dApp 不兼容。
  • 资金永久丢失:转错地址或合约无法找回。

ERC-20 与其他标准的区别

方面 ERC-20(可互换) ERC-721(NFT) ERC-1155(多代币)
代币性质 可互换(单位相同) 非同质化(每个独特) 可互换 + 非同质化 + 半同质化
典型用途 稳定币、治理、DeFi 数字艺术、收藏品 游戏道具、批量 NFT
合约模式 一个合约对应一种代币 一个合约对应一组独特代币 一个合约管理多种代币类型
批量操作 不支持(需逐笔) 不支持 原生支持批量转移(节省 Gas)

总结

ERC-20 作为以太坊最基础、最成熟的可互换代币标准,已成为稳定币、DeFi 和治理生态的核心。它极大简化了开发与集成,让普通用户也能轻松参与加密经济。但使用时务必注意授权安全、合约验证和 Gas 费用。

Tags: ERC20