當前位置:編程學習大全網 - 源碼下載 - 理解ERC20代幣合約

理解ERC20代幣合約

ERC20代幣合約可以說在發幣中算是聽到非常多的壹個名詞了,說到發幣都會想到這個合約。本文我們就談談如何理解ERC20代幣合約。

有關ERC20標準可以參考 官方文檔 ,可以說比較抽象,使用Solidity描述的ERC20的接口。

ERC-20最初作為壹種嘗試,旨在為以太坊(Ethereum)上的token合約提供壹個特征與接口的***同標準,並且,它現在已經被證明是非常成功的了。ERC-20有很多好處,包括允許錢包顯示數以百計不同token的賬戶余額;創建壹個交易工具,只需提供token合約的地址就可以將更多token列入表中。創建ERC-20兼容token的好處很多,以至於在今天,很少有其他token合約用其他方式創建。

目前依舊有“代幣(token)合約到底是什麽”的爭論。本質上來說,壹個代幣合約就是壹個包含了壹個對賬戶地址及其余額的映射的智能合約。賬戶余額表示壹種由合約創建者定義的值:壹個代幣合約也許使用余額來表示物理對象,或是表示另壹種貨幣價值,還可以表示持有人的名望。余額的單位通常被稱為token。

當token從壹個賬戶被轉移到另壹個賬戶的時候,代幣合約更新兩個賬戶的余額。例如,從 0x2299…3ab7 轉移到 0x1f59…3492 10個token將導致余額列表如下圖所示進行更新:

如果該token合約允許的話,改變token總體數量有兩種方案。token的總數可以通過鑄造新token來增加。舉個例子,鑄造出100個token到地址 0x4ba5…ae22 余額變更如下圖所示:

也可以通過“銷毀”減少token總量,比如,0x4919…413d 銷毀50枚token將導致余額如下方式變化:

銷毀token的另壹種方式是將token發送到壹個未創建私鑰的地址,通常來說就是 0地址 。這會使得這些token不可用,在這方面,它與銷毀token有同樣的效果,但並沒有減少token的總數。比如, 0x93f1…1b09 用此種方式銷毀了50枚token將導致如下圖所示的余額:

簡單的代幣合約在壹個從地址到余額的映射中保存上述信息。當更多復雜的情景出現時,比如分紅,替代性結構或者增補性結構往往更強壹些。但是,不管操作上的細節的話,對外部可見的token余額總是像上面的圖示那樣的。

ERC20 合約是通過合約的地址以及可用的token總數來定義的,但通常還提供壹些可選項目,也是為用戶提供更多細節。比如token的 名字 、 符號 、 小數位 等等。

在深入了解之前,必須明確壹點:代幣合約沒有中心化的登記處,因此無法保證特定名字和符號的唯壹性。壹旦妳創建了壹個代幣合約,妳應該申請將它加入公***站點,如Etherscan,MyEtherWallet 以及 CoinMarketCap。當然,確保符合網站上的說明,可以最大限度提高申請被接受的機會。

代幣合約的 名字 是代幣的完整名稱,比如“My token”。名字長度沒有限制,但是太長的話在某些錢包應用中可能顯示不完整,所以最好保持名字的簡潔。

代幣合約的 符號 是代幣的符號,比如“MYT”。大體相當於股票行情自動收錄機。盡管沒有長度限制,但通常都是三四個字符長度。

小數位 這個概念通常容易混淆,通過解釋還是很容易理解的。 小數位 代表壹個token的可分割程度,小數位可取值從0(完全不可分割)到18(幾乎是連續的),甚至還可以更高。技術上講, 小數位 的數字就是顯示在屏幕上小數點後面跟著的數字。存在 小數位 的意義在於以太坊不處理小數,將所有的數字價值都當做整數處理。

總發行量 是ERC20代幣合約最後定義的項,而且是唯壹壹個強制參數。盡管在ERC20標準中沒有明確規定,但是定義 總發行量 十分簡單: 總發行量 等於所有余額的總和。 總發行量 在上面的例子中已經給出,無須贅述。

  • 上一篇:十壹奉獻,希望有人為我解答?
  • 下一篇:面向對象的源學習
  • copyright 2024編程學習大全網