千家信息网

以太坊通证标准ERC有哪些

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章主要介绍"以太坊通证标准ERC有哪些",在日常操作中,相信很多人在以太坊通证标准ERC有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"以太坊通证标准ERC有
千家信息网最后更新 2025年12月03日以太坊通证标准ERC有哪些

这篇文章主要介绍"以太坊通证标准ERC有哪些",在日常操作中,相信很多人在以太坊通证标准ERC有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"以太坊通证标准ERC有哪些"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

最著名的两个以太坊通证标准是代币标准ERC20和数字资产标准ERC721。在本文中,除了介绍这两个流行的ERC以太坊标准,还将介绍其他一些针对特定应用场景的ERC20改进标准:ERC223、ERC621和ERC827。

什么是ERC?

ERC代表"Etuereum Request for Comment",这是Ethereum版的意见征求稿 (RFC),RFC是由互联网工程任务组制定的一个概念。 RFC中的备忘录包含技术和组织注意事项。 对于ERC,意见征求稿中包括一些关于以太坊网络建设的技术指导。

ERC是Ethereum开发者为以太坊社区编写的。 因此,ERC的创建流程中包括开发人员。 为了创建一个以太坊平台的标准,开发人员应当提交了一个以太坊改进方案(EIP), 改进方案中包括协议规范和合约标准。 一旦EIP被委员会批准并最终确定,它就成为ERC。 EIP的完整列表可以在这里找到。

最终确定的EIP为以太坊开发者提供了一套可实施的标准。 这使得智能合约可以遵循这些通用的接口标准来构建。

ERC-20是整个加密社区中最为人熟知的标准,在Ethereum平台之上发布的大多数通证(token)都使用它。

ERC-20标准的内容

ERC-20标准中定义了以下函数接口:

  • totalSupply():返回代币供给总量

  • balanceOf(address _owner):返回_owner的帐户余额

  • transfer(address _to,uint256 _value):并将数量为_value的代币转入地址_to并触发transfer事件

  • transferFrom(address _from,address _to,uint256_value):将地址_from中的_value数量的代币转入地址_to ,并触发transfer事件

  • approve(address _spender,uint256 _value):允许_spender提取限额_value的代币

  • allowance(address _owner,address _spender):返回_spender可从_owner提款的代币数量上限

以上函数将触发以下事件:

  • transfer(address indexed _from,address indexed _to,uint256 _value):每次进行代币转账时都会触发

  • approval(address indexed _owner,address indexed _spender,uint256 _value):调用approve()方法将触发该事件

ERC-20于2015年提出并于2017年9月正式实施。这是代币标准化的一个很好的起点。 然而,开发者社区 已经注意到它存在一些缺陷和漏洞,此外,还有一些场景它不能很好的满足。因此陆续提出了其他的ERC标准。

ERC-223

  • 状态:打开

  • 建议日期:3/5/2017

开发人员Dexaran在一篇文章中详细描述了ETC20不适合的两种场景:

"在ERC20中执行交易有两种方式:

  1. transfer函数。

  2. approve + transferFrom机制。

通证余额只是通证合约中的一个变量。

通证的交易是合约内部变量的变化。 转出账户的余额将减少,转入账户的余额将增加。

交易发生时, transfer()函数不会通知转入账户。 因此转入账户将无法识别传入的交易! 我写了一个例子,可以展示这一导致未处理的交易和资金损失的过程 。

因此,如果接收账户是合约,那么必须使用approve + transferFrom机制来发送通证。

如果接受账户是外部拥有帐户,则必须通过transfer函数发送通证。 如果选择了错误的机制,通证将卡在合约内(合约将不会识别交易),没有办法来提取这些卡壳的通证。"

他对这个问题提出的解决方案包含在ERC-223中 。 它与ERC-20标准非常相似,但解决了上述问题。当通证转移到智能合约账户时,该合约的特殊函数tokenFallback() 允许接收方合约拒绝令牌或触发进一步的操作。 大多数情况下,这可以用来代替approve()函数。

ERC-621

  • 状态:打开

  • 建议日期:2017/5/1

ERC-621是ERC-20标准的扩展。 它增加了两个额外的功能, increaseSupply和decreaseSupply 。这可以增加和减少流通中的令牌供应。 ERC-20只允许单一的通证发放事件。 这将供应量限制在一个固定的不可改变的数目。 ERC-621建议totalSupply应当是可修改的。

ERC-721

  • 状态:打开

  • 建议日期:9/22/2017

ERC-721与ERC-20和ERC-223都大不相同。 它描述了一个不可互换的通证。 这意味着每个通证是完全不同的,并且每个通证对不同的用户都有不同的价值。 理解这种通证的一个方法就是回忆CryptoKittes。 每一个数字猫都是独立的,其价值取决于其稀缺性和用户的购买欲。

ERC-721令牌可用于任何交易所,但通证价值是"每个通证的唯一性和稀缺性所决定的结果"。标准中规定的接口函数包括name、symbol、totalSupply、balanceOf、ownerOf、approve、takeOwnership 、 transfer 、tokenOfOwnerByIndex和tokenMetadata 。 它还定义了两个事件: Transfer和Approval 。 Gerald Nash的 这篇文章很好地解释了可互换性的概念。

ERC-827

  • 状态:打开

  • 建议日期:1/12/2018

ERC-20标准的另一个扩展是ERC-827。 它允许转让通证并允许持有人允许第三方使用通证。 以太坊上的通证可以被其他应用程序重复使用,这其中也包括钱包和交易所。 当需要支持第三方动态消费限额调整时这一点非常有用。

最重要的是,由于ERC-827是ERC-20的延伸,它也与ERC-20兼容。

一些提议的接口函数包括:

  • transferFrom(address _from,address _to,uint256 _value,bytes _data) returns (bool success)

  • approve(address _spender,uint256 _value,bytes _data) returns (bool success)

到此,关于"以太坊通证标准ERC有哪些"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

标准 以太 合约 函数 代币 交易 账户 事件 开发 建议 两个 余额 接口 日期 状态 学习 不同 人员 令牌 价值 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全笔试题库及答案 写关于网络安全的博文英语 软件开发培训2万 软件开发方向研究生 全国硕士点完备资源数据库 想删除数据库中老旧的数据 用日语怎么说软件开发 数据库插入外键约束 怎么加入域服务器 win关闭网络安全 网络安全教育美篇 大数据时代计算机网络技术教程 服务器配置与安全管理总结 关于医院网络安全法和数据安全法 佛山创德辉网络技术有限公司 画图切割软件开发 删除数据库drop 银行网络安全工程师 威联通 登录失败 服务器无响应 陕西省网络安全与信息中心工作 言迪网络安全c证考题 线性代数在软件开发用的多吗 怎么将文件放入其他服务器 宁波机柜式服务器 税务问软件开发成本 全国硕士点完备资源数据库 桌面操作系统和服务器有什么区别 荣耀猎人网络安全插件 福建省半岛互联网科技有限公司 打开电脑提示与服务器通信失败
0