這篇文章主要介紹“以太坊通證標(biāo)準(zhǔn)ERC有哪些”,在日常操作中,相信很多人在以太坊通證標(biāo)準(zhǔn)ERC有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”以太坊通證標(biāo)準(zhǔn)ERC有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)服務(wù)項目包括奇臺網(wǎng)站建設(shè)、奇臺網(wǎng)站制作、奇臺網(wǎng)頁制作以及奇臺網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,奇臺網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到奇臺省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
最著名的兩個以太坊通證標(biāo)準(zhǔn)是代幣標(biāo)準(zhǔn)ERC20和數(shù)字資產(chǎn)標(biāo)準(zhǔn)ERC721。在本文中,除了介紹這兩個流行的ERC以太坊標(biāo)準(zhǔn),還將介紹其他一些針對特定應(yīng)用場景的ERC20改進標(biāo)準(zhǔn):ERC223、ERC621和ERC827。
ERC代表“Etuereum Request for Comment",這是Ethereum版的意見征求稿 (RFC),RFC是由互聯(lián)網(wǎng)工程任務(wù)組制定的一個概念。 RFC中的備忘錄包含技術(shù)和組織注意事項。 對于ERC,意見征求稿中包括一些關(guān)于以太坊網(wǎng)絡(luò)建設(shè)的技術(shù)指導(dǎo)。
ERC是Ethereum開發(fā)者為以太坊社區(qū)編寫的。 因此,ERC的創(chuàng)建流程中包括開發(fā)人員。 為了創(chuàng)建一個以太坊平臺的標(biāo)準(zhǔn),開發(fā)人員應(yīng)當(dāng)提交了一個以太坊改進方案(EIP), 改進方案中包括協(xié)議規(guī)范和合約標(biāo)準(zhǔn)。 一旦EIP被委員會批準(zhǔn)并最終確定,它就成為ERC。 EIP的完整列表可以在這里找到。
最終確定的EIP為以太坊開發(fā)者提供了一套可實施的標(biāo)準(zhǔn)。 這使得智能合約可以遵循這些通用的接口標(biāo)準(zhǔn)來構(gòu)建。
ERC-20是整個加密社區(qū)中最為人熟知的標(biāo)準(zhǔn),在Ethereum平臺之上發(fā)布的大多數(shù)通證(token
)都使用它。
ERC-20標(biāo)準(zhǔn)中定義了以下函數(shù)接口:
totalSupply():返回代幣供給總量
balanceOf(address _owner):返回_owner的帳戶余額
transfer(address _to,uint256 _value):并將數(shù)量為_value的代幣轉(zhuǎn)入地址_to并觸發(fā)transfer事件
transferFrom(address _from,address _to,uint256_value):將地址_from中的_value數(shù)量的代幣轉(zhuǎn)入地址_to ,并觸發(fā)transfer事件
approve(address _spender,uint256 _value):允許_spender提取限額_value的代幣
allowance(address _owner,address _spender):返回_spender可從_owner提款的代幣數(shù)量上限
以上函數(shù)將觸發(fā)以下事件:
transfer(address indexed _from,address indexed _to,uint256 _value):每次進行代幣轉(zhuǎn)賬時都會觸發(fā)
approval(address indexed _owner,address indexed _spender,uint256 _value):調(diào)用approve()方法將觸發(fā)該事件
ERC-20于2015年提出并于2017年9月正式實施。這是代幣標(biāo)準(zhǔn)化的一個很好的起點。 然而,開發(fā)者社區(qū) 已經(jīng)注意到它存在一些缺陷和漏洞,此外,還有一些場景它不能很好的滿足。因此陸續(xù)提出了其他的ERC標(biāo)準(zhǔn)。
狀態(tài):打開
建議日期:3/5/2017
開發(fā)人員Dexaran在一篇文章中詳細描述了ETC20不適合的兩種場景:
“在ERC20中執(zhí)行交易有兩種方式:
transfer函數(shù)。
approve + transferFrom機制。
通證余額只是通證合約中的一個變量。
通證的交易是合約內(nèi)部變量的變化。 轉(zhuǎn)出賬戶的余額將減少,轉(zhuǎn)入賬戶的余額將增加。
交易發(fā)生時, transfer()函數(shù)不會通知轉(zhuǎn)入賬戶。 因此轉(zhuǎn)入賬戶將無法識別傳入的交易! 我寫了一個例子,可以展示這一導(dǎo)致未處理的交易和資金損失的過程 。
因此,如果接收賬戶是合約,那么必須使用approve + transferFrom機制來發(fā)送通證。
如果接受賬戶是外部擁有帳戶,則必須通過transfer函數(shù)發(fā)送通證。 如果選擇了錯誤的機制,通證將卡在合約內(nèi)(合約將不會識別交易),沒有辦法來提取這些卡殼的通證。“
他對這個問題提出的解決方案包含在ERC-223中 。 它與ERC-20標(biāo)準(zhǔn)非常相似,但解決了上述問題。當(dāng)通證轉(zhuǎn)移到智能合約賬戶時,該合約的特殊函數(shù)tokenFallback() 允許接收方合約拒絕令牌或觸發(fā)進一步的操作。 大多數(shù)情況下,這可以用來代替approve()函數(shù)。
狀態(tài):打開
建議日期:2017/5/1
ERC-621是ERC-20標(biāo)準(zhǔn)的擴展。 它增加了兩個額外的功能, increaseSupply和decreaseSupply 。這可以增加和減少流通中的令牌供應(yīng)。 ERC-20只允許單一的通證發(fā)放事件。 這將供應(yīng)量限制在一個固定的不可改變的數(shù)目。 ERC-621建議totalSupply應(yīng)當(dāng)是可修改的。
狀態(tài):打開
建議日期:9/22/2017
ERC-721與ERC-20和ERC-223都大不相同。 它描述了一個不可互換的通證。 這意味著每個通證是完全不同的,并且每個通證對不同的用戶都有不同的價值。 理解這種通證的一個方法就是回憶CryptoKittes。 每一個數(shù)字貓都是獨立的,其價值取決于其稀缺性和用戶的購買欲。
ERC-721令牌可用于任何交易所,但通證價值是“每個通證的唯一性和稀缺性所決定的結(jié)果”。標(biāo)準(zhǔn)中規(guī)定的接口函數(shù)包括name、symbol、totalSupply、balanceOf、ownerOf、approve、takeOwnership 、 transfer 、tokenOfOwnerByIndex和tokenMetadata 。 它還定義了兩個事件: Transfer和Approval 。 Gerald Nash的 這篇文章很好地解釋了可互換性的概念。
狀態(tài):打開
建議日期:1/12/2018
ERC-20標(biāo)準(zhǔn)的另一個擴展是ERC-827。 它允許轉(zhuǎn)讓通證并允許持有人允許第三方使用通證。 以太坊上的通證可以被其他應(yīng)用程序重復(fù)使用,這其中也包括錢包和交易所。 當(dāng)需要支持第三方動態(tài)消費限額調(diào)整時這一點非常有用。
最重要的是,由于ERC-827是ERC-20的延伸,它也與ERC-20兼容。
一些提議的接口函數(shù)包括:
transferFrom(address _from,address _to,uint256 _value,bytes _data) returns (bool success)
approve(address _spender,uint256 _value,bytes _data) returns (bool success)
到此,關(guān)于“以太坊通證標(biāo)準(zhǔn)ERC有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
分享文章:以太坊通證標(biāo)準(zhǔn)ERC有哪些
網(wǎng)頁網(wǎng)址:http://weahome.cn/article/igpesc.html