什么是ERC-20?
ERC-20 是使用以太坊区块链创建的同质化代币的技术标准。同质化代币可以与其他代币互换——而众所周知的非同质化代币(NFT)则不能互换。
ERC-20 允许开发者创建可与其他产品和服务配合使用的智能合约代币。这些代币代表资产、权利、所有权、访问权限、加密货币或任何其他本身并非独一无二但可以转让的事物。
要点总结
- 以太坊请求评论 20 (ERC-20) 是使用以太坊区块链创建的同质化代币的已实施标准。
- ERC-20 指导以太坊区块链上新代币的创建,以便它们可以与其他智能合约代币互换。
- 自 ERC-20 标准实施以来,以太坊生态系统中的大多数代币都是使用 ERC-20 标准创建的。
ERC-20的历史
2015年,智能合约开始流行,但一些问题亟待解决。由于任何人都可以创建代币,因此代币数量激增。然而,当时并没有办法确保所有不同的代币都能被区块链上的每个人创建、使用或交换。如果没有标准化的代币机制,每个应用程序都需要自己的代币。用户需要找到一种方法,在数百个正在开发的应用程序之间进行代币的转换。
该标准的起源
ERC-20 由开发者 Fabian Vogelsteller 于 2015 年提出,旨在解决以太坊区块链智能合约对标准的需求。Vogelsteller 通过项目的 GitHub 页面以以太坊请求评论 (ERC) 的形式提交了该提案。由于它是第二十条评论,因此被命名为 ERC-20。
按照以太坊开发者社区的流程,该提案于 2017 年获得批准并实施,成为以太坊改进提案 20 (EIP-20)。然而,它仍然被称为 ERC-20,因为在获得批准之前,它一直被称为 ERC-20。
由于该请求已获批准并实施,如果开发者希望以太坊区块链上实现的智能合约代币可以互换,则这些代币必须符合此标准。
ERC-20 内容
ERC-20 是一系列函数和事件的列表,只有符合 ERC-20 标准的代币才能被视为符合该标准。这些函数(在 ERC 中称为方法)描述了智能合约代币必须包含的内容,而事件则描述了执行的操作。代币必须具备的函数包括:
- 总供应量:将要发行的代币总数。
- BalanceOf :代币持有者账户的账户余额
- 转账:自动将指定数量的代币转账到指定地址,用于使用该代币的交易。
- TransferFrom :使用代币从指定地址自动执行指定数量的代币转账。
- 批准:允许支出者从指定账户中提取一定数量的代币,最高不超过指定金额。
- 津贴:将一定数量的代币从支出者返还给所有者
令牌中必须包含的事件有:
- 转账:转账成功时触发的事件
- 批准:已批准事件(事件)的日志
以下功能是可选的,并非必须包含,但它们可以增强令牌的可用性:
- 令牌名称(可选)
- 其符号(可选)
- 小数位数(可选)
“代币”和“加密货币”经常被混用;所有加密货币都是代币,但并非所有代币都是加密货币。代币通常代表区块链之外的资产和权利。在符合 ERC-20 标准的语境下,代币指的是符合以太坊社区设定的智能合约标准,并在区块链上表示的某种事物。
那么,这一切意味着什么呢?这些函数和事件都是编程语言中的术语,例如:
函数名 () 公共视图 返回 (字符串)
函数 balanceOf (address _owner) 公共视图 返回 (uint256 balance)
这些功能为代币提供了一个通用接口,以便于访问、识别和使用。这减少了用户和应用程序界面因每种代币都采用不同的信息显示方式而产生的混乱。此外,这些代码功能还有助于确定流通中的代币数量、存储和返回余额、发起转账和提现请求、授予批准以及同意自动转账。
许多知名的数字货币都采用 ERC-20 标准。一些流行的例子包括:
ERC-20 的目标
ERC-20 标准在区块链中扮演着重要角色;它定义了一系列以太坊代币在使用智能合约时必须遵守的通用规则。这些规则包括代币的转让方式、交易审批流程、用户如何访问代币数据以及代币的总供应量等。
这种合规性对于以太坊保持其可扩展性的承诺也是必要的;它确保了使用以太坊生态系统创建的众多不同代币之间的兼容性。
因此,这一代币标准使各类开发者能够准确预测新代币在以太坊系统中的运行方式。这简化了开发者的工作;他们可以继续推进项目,无需担心每次发布新代币时都需要重做现有项目。此外,只要代币遵循相关规则,新项目也无需担心与旧项目的兼容性问题。
幸运的是,大多数代币开发者都遵循了 ERC-20 规则,这意味着通过以太坊发行的大多数代币都符合 ERC-20 标准。
BEP-2 与 ERC-20
ERC-20 是以太坊生态系统中代币的标准。许多其他代币、区块链和生态系统都源自以太坊。币安(Binance)就是这样一个生态系统和区块链。币安团队基于以太坊的一个分叉创建了自己的区块链——币安链(Binance Chain)。
币安开发者随后创建了自己的代币标准,用于在其区块链上创建的代币。该标准名为 BEP-2,与 ERC-20 类似,都指导在币安链上使用的代币创建。
币安还创建了一条与币安链并行运行的侧链,称为币安智能链。这条链兼容ERC-20代币、以太坊虚拟机和币安链;但它采用了一种名为BEP-20的更新标准,从而实现了跨链兼容性。
ERC-20是什么意思?
ERC-20 是以太坊第 20 号请求评论 (Ethereum Request for Comment, number 20) 的缩写。ERC-20 是使用以太坊创建的智能合约代币的标准。
ETH 和 ERC-20 有什么区别?
以太币 (ETH) 是以太坊区块链和网络使用的原生代币,作为支付系统用于验证交易。ERC-20 是创建可在以太坊生态系统中使用的、支持智能合约的同质化代币的标准。
什么是ERC-20钱包?
ERC-20 钱包是一种可以让你管理符合 ERC-20 标准的代币的钱包。
归纳总结
为了解决人们日益关注的多个代币无法在以太坊区块链上进行转让的问题,2015 年提出了一项标准提案并予以实施。该标准名为以太坊请求评论 (ERC) 20,旨在指导代币的创建,使与以太坊区块链兼容的代币能够互换使用。
更正——2023年5月11日:本文此前版本错误地将ERC-20提案的开发者姓名列为Fabin Vogelstellar。正确姓名应为Fabian Vogelsteller。