来币圈
一文读懂 ERC-20 代币

一文读懂 ERC-20 代币

作者:佚名2020年7月31日交易所教程
Binance 币安

Binance 币安 邀请码

注册时填写邀请码 BN566 享受 20% 手续费减免

邀请码:BN566
立即注册
一文读懂 ERC-20 代币
目录

要点

  • ERC-20 是一种技术标准,用于在以太区块链上创建同质代币。该标准定义了六项强制性函数,确保所有合规代币在钱包、交易平台和应用中以相同方式运行。
  • ERC-20 代币存在于智能合约中,而非由用户账户直接持有。合约会维护一份余额清单,并在用户提交交易时处理转账操作。
  • 常见的 ERC-20 代币类型包括稳定币、效用代币、治理代币以及流动性资金池 (LP) 代币,广泛用于 DeFi 协议。
  • ERC-20 代币不支持挖矿。新币在合约部署时铸造,通常通过首次代币发行 (ICO)代币生成活动等事件进行分发。




简介

以太坊由 Vitalik Buterin 于 2014 年创立,定位为一个用于推出去中心化应用 (dApp) 的开源平台。Buterin 创建这条新区块链的动机很大程度上源于他对比特币协议缺乏灵活性的考量。

自上线以来,以太坊区块链吸引了大量开发者、企业和创业者,逐步构建起不断壮大的智能合约和去中心化应用生态。

本文将介绍 ERC-20 标准,这是在以太坊上创建同质化代币的重要框架。尽管该框架专为以太坊网络开发,但也启发了其他区块链上的代币标准,例如 BNB Smart Chain 上的 BEP-20。

什么是 ERC-20 标准?

在以太坊中,ERC 是 Ethereum Request for Comments(以太坊意见征求稿)的缩写。这些是概述以太坊编程标准的技术文档。请勿将其与以太坊改进提案 (EIP) 混淆。EIP 提出的是对协议本身的改进建议。相比之下,ERC 旨在建立规范,便于应用和合约之间进行交互。

ERC-20 由 Vitalik Buterin 和 Fabian Vogelsteller 于 2015 年撰写,提出了一种相对简便的以太坊代币格式。遵循该规范,开发者无需一切从零开始,而是可以在行业已广泛采用的基础之上进行构建。

新的 ERC-20 代币创建后,会自动与支持 ERC-20 标准的服务和软件实现互操作,包括软件钱包、硬件钱包和交易平台。

请注意,ERC-20 后来被正式纳入 EIP(具体为 EIP-20)。由于 ERC-20 已被广泛采用,这一纳入过程发生在最初提案提出后的数年。不过,“ERC-20” 这一名称仍是最常用的称呼。

以太坊代币快速回顾

与 ETH(以太坊的原生加密货币)不同,ERC-20 代币并非由账户直接持有。代币仅存在于合约中,该合约就像一个独立的数据库。它规定了代币规则(包括名称、代码和可分割性),并维护一份将用户余额映射到其以太坊地址的清单。

要划转代币,用户必须向合约发送一笔交易,请求合约将部分余额分配到其他地址。例如,如果 Alice 想向 Bob 发送 5,000 枚代币,她会调用该代币智能合约中的某个函数来完成。

她的调用包含在一笔看似普通的以太坊交易中,该交易向代币合约支付 0 ETH。这笔调用被写入交易的附加字段中,用于说明 Alice 想要执行的操作。即使她没有发送以太币,仍须支付以 ETH 计价的交易手续费,才能让交易打包至区块。如果她没有 ETH,则需要先获取一些 ETH,才能划转代币。

ERC-20 代币如何创建?

要符合 ERC-20 标准,合约需要包含六项强制性函数:totalSupplybalanceOf transfertransferFrom approve 以及 allowance。此外,您还可以指定可选函数,例如 name、symbol 和 decimal。

totalSupply

function totalSupply() public view returns (uint256)

该函数被调用时,会返回合约持有的代币总供应量。

balanceOf

function balanceOf(address _owner) public view returns (uint256 balance)

totalSupply 不同,balanceOf 需要一个参数(地址)。该函数被调用时,会返回该地址对应的代币余额。由于以太坊上的账户公开透明,只要您知道地址,即可查询任何用户的余额。

transfer

function transfer(address to, uint256 value) public returns (bool success)

transfer 用于将代币从一个用户划转给另一个用户。您需要提供目标地址和转账数量。transfer 函数被调用时,会触发 Transfer 事件,告知区块链将交易引用写入链上。

transferFrom

function transferFrom(address from, address to, uint256 _value) public returns (bool success)

transferFrom 是 transfer 的一种实用替代方案,可在去中心化应用中实现更强的可编程性。与 transfer 类似,它也用于划转代币,但这些代币不一定属于调用合约的人。换言之,您可以授权另一个地址(或合约)代表您划转资金。一个常见用例是订阅制服务,由程序自动处理周期性付款,无需每次都进行手动交易。

approve

function approve(address spender, uint256 value) public returns (bool success)

approve 允许您限制智能合约可从您的余额中提取的代币数量。如果没有该功能,发生故障或漏洞被利用的合约可能会耗尽您的全部余额。例如,假设订阅费用为每周 1 枚代币,而您授权的限额为 20 枚代币,则该 dApp 最多可处理 20 周的付款。如果该 dApp 试图提取更多代币,或被发现存在漏洞,您的潜在损失将限制在授权额度之内。

allowance

function allowance(address owner, address spender) public view returns (uint256 remaining)

allowanceapprove 搭配使用。一旦您向合约授予代币管理权限,便可使用 allowance 查看其仍可提取的数量。例如,如果订阅服务已从您授权的 20 枚代币中使用了 12 枚,调用 allowance 将返回 8。

可选函数

上述函数为必需项。除此之外,name、symbol 和 decimal 为可选项,但它们能让您的 ERC-20 合约更易于使用。这些函数分别允许您添加便于读取的名称、设置代币代码,并指定代币可分割到的小数位数。作为货币使用的代币,可能比代表实体资产所有权的代币更需要较高的可分割性。

ERC-20 代币有哪些用途?

ERC-20 代币的一大吸引力在于其灵活性。该标准在不限制开发的前提下设定了规范,因此项目可以在此基础上实现额外功能,并设置特定参数以满足自身需求。到 2025 年,ERC-20 代币为多个类别的去中心化金融 (DeFi) 应用提供支持,涵盖借贷协议、去中心化交易平台以及流动性挖矿平台等。

稳定币

稳定币(与法币挂钩的代币)通常采用 ERC-20 标准。对于典型的法币支持型稳定币,发行方会持有美元、欧元等货币的储备。储备中的每一单位货币都会对应发行一枚代币。如果储备中持有 10,000 美元,发行方可以创建 10,000 枚代币,每枚可按 1 美元赎回。用户可以使用这些代币购买商品和服务、在 dApp 中使用,或向发行方赎回。赎回时,发行方会销毁返还的代币(使其永久不可用),并从储备中释放等值法币。

治理代币

治理代币赋予持有者对协议决策(例如费用结构、升级或金库资金分配等)的投票权。它们在各类 DeFi 协议以及去中心化自治组织 (DAO) 中得到了广泛应用。ERC-20 的可转移性和标准接口使治理代币易于与链上投票系统整合。

流动性资金池 (LP) 代币

用户将资产存入 DeFi 流动性资金池后,会收到代表其在资金池中份额的 LP 代币。这些 ERC-20 代币可赎回为基础资产加上累计的手续费。截至 2025 年,LP 代币仍是 DeFi 中最常见且广泛使用的 ERC-20 代币类型之一。

证券型代币

证券型代币在合约层面与稳定币类似。区别在于发行方层面:证券型代币代表股票、债券或实物资产等证券,并且通常赋予持有者对某项业务或资产的权益。较新的标准(如 ERC-1400 和 ERC-3643)在 ERC-20 的基础上增加了受监管证券所需的合规功能。

效用代币

效用代币是最常见的代币类型之一。与资产支持型代币不同,它们不由任何外部资产支撑,可用作游戏内货币、去中心化应用的燃料、忠诚度积分,或特定服务的访问通行证。

ERC-20 代币是否支持挖矿?

您可以通过质押赚取以太币 (ETH),但 ERC-20 代币不支持挖矿。新代币的创建过程称为“铸造”。合约部署后,开发者会根据其计划和路线图分配初始供应量。这通常通过首次代币发行 (ICO)、首次交易所发行 (IEO) 或证券型代币发行 (STO) 完成。投资者将以太币发送至合约地址,并获得新代币作为回报。所得资金通常用于资助后续开发。

代币分配不一定需要完全自动化。许多众筹活动接受多种数字货币,随后将代币余额分配至参与者提供的地址。

ERC-20 代币的优缺点

优点

  • 同质化:ERC-20 代币是同质化代币,这意味着每个单位都可以与另一个单位互换。这非常适用于货币、稳定币和治理代币等场景,因为在这些场景中,单个单位不应具有任何可区分的特征。
  • 灵活性:ERC-20 代币具有高度可定制性,可根据多种不同的应用场景进行调整,从游戏内货币和忠诚度计划,再到 DeFi 工具以及现实世界资产 (RWA) 的代币化表示等。
  • 兼容性:ERC-20 的广泛采用意味着,大多数加密货币钱包 App、交易平台和智能合约都已与新发行的代币兼容。开发者文档和工具也十分完善。

缺点

  • 可扩展性:以太坊的基础层每秒可处理的交易数量有限,网络拥堵可能导致高额手续费和延迟。Arbitrum、Optimism 和 zkSync 等 Layer 2 解决方案通过在链下处理交易并在以太坊上结算,在很大程度上解决了这一问题,但引入 Layer 2 也会为代币发行方和用户带来额外的复杂性。
  • 诈骗风险:发行 ERC-20 代币的便捷性是一把双刃剑。由于所需的技术投入极少,欺诈项目可以像正规项目一样较为轻易地发行代币。在参与任何代币发行之前,请务必自己做好研究 (DYOR),判断相关机会是否正规。

ERC-20、ERC-721、ERC-1155 和 ERC-404 有何区别?

ERC-20 是以太坊的首个代币标准,至今仍是使用最广泛的标准。此后又出现了多种其他标准,有的提出改进,有的面向不同的使用场景。

ERC-721 是用于非同质化代币 (NFT) 的标准:每个代币都有唯一标识符,使其无法与任何其他代币互换。ERC-721 为数字艺术、收藏品以及注重独特属性的游戏道具等提供支持。

ERC-1155 支持在同一合约中同时发行同质化和非同质化代币。单个 ERC-1155 合约可同时管理多种代币类型,这使其在同时涉及游戏货币和独特道具的游戏应用中更加高效。

ERC-404 于 2024 年初以实验性方式推出,尝试将 ERC-20 的可分割划转能力与 ERC-721 的唯一性相结合,以创建“半同质化”代币。尽管该标准尚未被正式纳入 EIP,生态支持也相对有限,但它仍展示了 ERC-20 框架如何持续启发新的思路。

其他标准(如 ERC-223)旨在增加防护措施,防止意外代币转账,从而解决原始 ERC-20 设计中的一个已知局限。

常见问题

什么是 ERC-20 代币?

ERC-20 代币是在以太坊区块链上创建的同质化代币,遵循 ERC-20 技术标准。该标准定义了六个必需函数,确保所有合规代币在钱包、交易平台和去中心化应用中以一致的方式运作。

ERC-20 与 ERC-721 有何不同?

ERC-20 代币为同质化代币,每个单位都完全相同且可互换,因此适用于货币、稳定币和治理代币等场景。ERC-721 代币为非同质化代币,每个代币都有唯一标识符,因此适用于数字艺术、收藏品以及需要具备独特属性的游戏道具等。

ERC-20 代币是否支持挖矿?

不支持。ERC-20 代币在部署智能合约时铸造(创建),而非通过挖矿产生。总供应量和初始分配由合约开发者设定。新代币通常通过 ICO、IEO 或流动性挖矿计划等机制进行分配。

为什么 ERC-20 交易需要 ETH?

ERC-20 转账是在以太坊网络上执行的操作。以太坊上的所有操作都需要支付交易手续费(称为 Gas 费),并以 ETH 支付。即使您转账的 ETH 数量为 0,您的钱包中仍需要有 ETH 来支付调用代币合约所需的 Gas 费用。

ERC-20 中的 approve 函数有什么用途?

approve 函数使代币持有者能够为特定地址或智能合约设置支出额度上限。这在 DeFi 中应用非常广泛:您可以限制某个协议可提取的代币数量,避免让其对您的代币拥有无限访问权限。如果发现漏洞或合约行为异常,您的潜在损失可控制在授权额度之内。

结语

自推出以来,ERC-20 标准一直是以太坊上同质化代币的主导框架。其简洁性、广泛的兼容性以及灵活的设计,使其成为稳定币、治理代币、DeFi 工具以及无数效用代币的基础。

以太坊基础层面临的可扩展性挑战,已在很大程度上随着 Layer 2 网络的发展而得到解决。如今,大多数新的 DeFi 活动都在 Layer 2 上进行处理。与此同时,新兴代币标准正在向更专业的使用场景扩展。ERC-20 本身并未发生变化,这也是它能够经久不衰的部分原因:一个简单、可审计的标准,能够在整个以太坊生态中可靠运行。

免责声明:本文内容按“原样”提供,仅作一般资讯及教育用途,不构成任何陈述或保证。本文不应解释为财务、法律或其他专业建议,且未推荐您购买任何特定产品或服务。您应自行向合适的专业顾问寻求建议。如内容由第三方投稿,请注意相关观点属于第三方投稿人,不一定反映币安学院的观点。数字资产价格可能会波动。您的投资价值可能会下跌或上涨,且投资本金可能无法收回。您对自己的投资决策全权负责,币安学院对您可能遭受的任何损失概不负责。欲知详情,敬请参阅我们的使用条款风险提示币安学院条款


数据与内容来源: Binance 免责声明: 本文所引用的 Binance 平台数据及观点仅供参考,加密资产投资具有高风险,请投资者根据自身风险承受能力理性决策。

Binance 币安

Binance 币安 邀请码

注册时填写邀请码 BN566 享受 20% 手续费减免

邀请码:BN566
立即注册

相关文章