前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >80%的人都不知道,ERC-223、ERC-621、ERC-721这些到底说了啥,还好意思说自己懂智能合约?建议收藏

80%的人都不知道,ERC-223、ERC-621、ERC-721这些到底说了啥,还好意思说自己懂智能合约?建议收藏

作者头像
区块链大本营
发布2018-08-03 10:48:09
7040
发布2018-08-03 10:48:09
举报
文章被收录于专栏:区块链大本营区块链大本营

安全应该是区块链现在最棘手的问题,而安全问题中,尤其是智能合约漏洞泛滥成灾,如何避免这些漏洞?或许我们应该了解一下智能合约所遵循的ERC标准。 本文作者 Lauren Stephanian 来自美国纽约,全球知名区块链投资基金 Pantera Capital 投资副总、作家,她以专业投资人的视角对区块链前沿技术有自己独到的理解。 这篇文章中,她介绍到ERC标准是由以太坊开发人员编写,开发人员在基于这些标准构建智能合约。其中,她详细介绍了加密社区中最为流行的ERC-20标准,此外,还介绍了ERC-223、ERC-621、ERC-721、ERC-827这几个ERC标准。 让我们跟随 Lauren Stephanian 了解一下这些ERC标准。

作者 | Lauren Stephanian

整理 | 科科

什么是ERC?

ERC(Ethereum Request for Comment)是以太坊的意见征求稿(RFC)版本,由互联网工程任务组设计。RFC中包含了以太坊的技术和组织说明,ERC则包含一些以太坊网络构建技术指南。

ERC是谁编写的?

ERC标准是由以太坊开发人员为以太坊社区编写的。他们为了给以太坊平台创建标准,提交了以太坊改进建议( EIP )——包括协议规范和合同标准。如果EIP被委员会批准并最终确定,它就成为了一个ERC。

EIP的完整列表请参阅: https://github.com/ethereum/EIPs

ERC有什么作用?

这些被委员会批准确定的EIP,为以太坊开发人员提供了一套可行的ERC标准。由于EIP的接口是开放的,所以开发人员可以基于这些标准之上构建智能合约。其中ERC-20是整个加密社区中最流行的标准,以太坊平台上的所有通证都使用这一标准。下面我们就来了解什么是ERC-20标准,以及其他的一些ERC标准。

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提取一定数量的金额。
  • allowance(address _owner, address _spender):返回允许_spender从_owner提取的金额。

以上这些方法将会触发以下事件:

  • transfer(address indexed _from, address indexed _to, uint256 _value):当token被转移时则会触发。
  • approval(address indexed _owner, addressindexed _spender, uint256 _value):成功调用approve方法后则会触发。

ERC-20标准于2015年被提出,并于2017年9月正式确定,这是通证标准化的一个很好的开始。但是,社区中的一些开发人员指出,这个标准存在缺陷和漏洞。另外,有些用例的确需要使用不同的标准,下面介绍一些其他的ERC标准。

ERC-223

状态:打开

提出日期:2017年5月3日

开发人员Dexaran详细描述了ERC-223标准适用的两种场景:

在ERC20通证标准中执行交易有两种方式: 1.transfer方法。 2.approve + transferFrom 机制。 通证余额只是通证合约中的一个变量。 通证的交易在合同中的表现是变量的变化:转出账户的余额将减少,接收账户的余额将增多。 交易发生时, transfer方法不会通知接收账户,接受账户也将无法识别传入交易!下面是我写的一个例子,来展示导致交易未处理和资金损失的过程 。 如果接收账户接受到的是合约,用户必须使用approve +transferFrom 机制来转移通证;如果接收账户是外部帐户地址,用户必须通过 transfer方法转移通证;如果选择了错误的方法,通证将被卡在合约中(合约将不会识别交易),那么,我们将无法提取这些被卡住的通证。

Dexaran提出的ERC-223标准就解决了这一问题,而且,它与ERC-20标准非常相似。当通证转移到智能合约时,该合约的一个特殊方法tokenFallback将允许接收合约、拒绝通证或触发进一步的操作。在大多数情况下,tokenFallback方法可以用来代替approve方法。

ERC-621

状态:打开

提出日期:2017年5月1日

ERC-621标准是ERC-20通证标准的扩展。该标准增加了两个额外的方法:increaseSupply decreaseSupply能够增加和降低流通中的代币供应量。而ERC-20标准仅允许单个通证发放事件,这就限制了一个固定的不可更改的供应量。而ERC-621标准则建议totalSupply是可以修改的。

ERC-721

状态:打开

提出日期: 2017年9月22日

ERC-721标准与ERC-20标准、ERC-23标准非常不同,它描述了一种不可互换的通证。这就意味着每个通证各不相同,并且每个通证对不同的用户具有不同的值。比如以太猫(CryptoKittes):每个数字猫都是一个独立存在的商品,其价值取决于该种类的稀有性和用户的喜好。

ERC-721通证标准可以在任何一个交易中使用,但通证的价值则是“与每个通证相关联的唯一性和稀缺性的结果”。该标准的函数包括name, symbol, totalSupply, balanceOf, ownerOf ,approve , takeOwnership , transfer , tokenOfOwnerByIndex, tokenMetadata。

ERC-721标准还定义了两个事件:TransferApproval。Gerald Nash(杰拉尔德·纳什)的文章就很好地解释了可互换性这一概念。

GeraldNash文章:剖析ERC721 链接:https://medium.com/crypto-currently/the-anatomy-of-erc721-e9db77abfc24

ERC-827

状态:打开

建议日期:2018年12月1日

ERC-20标准的另一个扩展是ERC-827标准,它允许用户转移通证,持有者也能允许第三方使用通证。以太坊上的通证可以被其他应用程序重用,这其中也包括钱包和交换机。在需要支持第三方动态消费限额调整时,这一点非常有用。另外,最重要的一点是,由于它是ERC-20标准的扩展,所以它也跟ERC-20标准兼容。

该标准中的一些方法如下所示:

  • transferFrom(address_from, address _to, uint256 _value, bytes _data) returns (bool success)
  • function approve(address_spender, uint256 _value, bytes _data) returns (bool success)

以上便是几个比较知名ERC标准的介绍。

原文链接: https://medium.freecodecamp.org/lets-talk-about-the-ethereum-token-standards-you-need-to-know-8af9fcb7e54b 资源 Gerald Nash(杰拉尔德·纳什)所著的《对ERC721的解剖》 文章链接: https://medium.com/crypto-currently/the-anatomy-of-erc721-e9db77abfc24 Leonid Beder(列昂尼德·比德尔)所著的《新ERC223令牌》 文章链接: https://medium.com/kinfoundation/the-new-erc223-token-standard-8dddbf1a5909 Lucas K(卢卡斯·奇)所著的《ERC标准能否推动以太坊向前发展?ERC-20,ERC-223,ERC-721》 文章链接: https://medium.com/wepower/erc-standards-to-move-ethereum-forward-erc-20-erc-223-erc-721-e1712456449d Jim McDonald(吉姆·麦克唐纳)所著的《解读ERC-20令牌合同》 文章链接: https://medium.com/@jgm.orinoco/understanding-erc-20-token-contracts-a809a7310aa5 Dexaran所著的《通证开发人员的魅力》 文章链接: https://www.reddit.com/r/Ubiq/comments/6uhl19/an_appeal_to_token_developers_erc20_token/ Github平台上的ERC827 链接: https://github.com/ethereum/EIPs/issues/827

最新热文:

  • 全球近1/5的比特币已经永久丢失!三种方法让你找回丢失的比特币
  • 北大之后又一高校团队区块链大赛夺冠,原来高校才是行业真扫地僧,怕了吗? | 人物志
  • 未来互联网再不需要中心化服务器了!因为Web3技术栈来了
  • 150亿数字加密货币被盗的真相之后,还能拿什么拯救你,我的交易所!
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 区块链大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安全应该是区块链现在最棘手的问题,而安全问题中,尤其是智能合约漏洞泛滥成灾,如何避免这些漏洞?或许我们应该了解一下智能合约所遵循的ERC标准。 本文作者 Lauren Stephanian 来自美国纽约,全球知名区块链投资基金 Pantera Capital 投资副总、作家,她以专业投资人的视角对区块链前沿技术有自己独到的理解。 这篇文章中,她介绍到ERC标准是由以太坊开发人员编写,开发人员在基于这些标准构建智能合约。其中,她详细介绍了加密社区中最为流行的ERC-20标准,此外,还介绍了ERC-223、ERC-621、ERC-721、ERC-827这几个ERC标准。 让我们跟随 Lauren Stephanian 了解一下这些ERC标准。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档