您好,登錄后才能下訂單哦!
這篇文章主要介紹“以太坊通證標準ERC有哪些”,在日常操作中,相信很多人在以太坊通證標準ERC有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”以太坊通證標準ERC有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
最著名的兩個以太坊通證標準是代幣標準ERC20和數字資產標準ERC721。在本文中,除了介紹這兩個流行的ERC以太坊標準,還將介紹其他一些針對特定應用場景的ERC20改進標準:ERC223、ERC621和ERC827。
ERC代表“Etuereum Request for Comment",這是Ethereum版的意見征求稿 (RFC),RFC是由互聯網工程任務組制定的一個概念。 RFC中的備忘錄包含技術和組織注意事項。 對于ERC,意見征求稿中包括一些關于以太坊網絡建設的技術指導。
ERC是Ethereum開發者為以太坊社區編寫的。 因此,ERC的創建流程中包括開發人員。 為了創建一個以太坊平臺的標準,開發人員應當提交了一個以太坊改進方案(EIP), 改進方案中包括協議規范和合約標準。 一旦EIP被委員會批準并最終確定,它就成為ERC。 EIP的完整列表可以在這里找到。
最終確定的EIP為以太坊開發者提供了一套可實施的標準。 這使得智能合約可以遵循這些通用的接口標準來構建。
ERC-20是整個加密社區中最為人熟知的標準,在Ethereum平臺之上發布的大多數通證(token
)都使用它。
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標準。
狀態:打開
建議日期:3/5/2017
開發人員Dexaran在一篇文章中詳細描述了ETC20不適合的兩種場景:
“在ERC20中執行交易有兩種方式:
transfer函數。
approve + transferFrom機制。
通證余額只是通證合約中的一個變量。
通證的交易是合約內部變量的變化。 轉出賬戶的余額將減少,轉入賬戶的余額將增加。
交易發生時, transfer()函數不會通知轉入賬戶。 因此轉入賬戶將無法識別傳入的交易! 我寫了一個例子,可以展示這一導致未處理的交易和資金損失的過程 。
因此,如果接收賬戶是合約,那么必須使用approve + transferFrom機制來發送通證。
如果接受賬戶是外部擁有帳戶,則必須通過transfer函數發送通證。 如果選擇了錯誤的機制,通證將卡在合約內(合約將不會識別交易),沒有辦法來提取這些卡殼的通證。“
他對這個問題提出的解決方案包含在ERC-223中 。 它與ERC-20標準非常相似,但解決了上述問題。當通證轉移到智能合約賬戶時,該合約的特殊函數tokenFallback() 允許接收方合約拒絕令牌或觸發進一步的操作。 大多數情況下,這可以用來代替approve()函數。
狀態:打開
建議日期:2017/5/1
ERC-621是ERC-20標準的擴展。 它增加了兩個額外的功能, increaseSupply和decreaseSupply 。這可以增加和減少流通中的令牌供應。 ERC-20只允許單一的通證發放事件。 這將供應量限制在一個固定的不可改變的數目。 ERC-621建議totalSupply應當是可修改的。
狀態:打開
建議日期: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的 這篇文章很好地解釋了可互換性的概念。
狀態:打開
建議日期: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有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。