并非所有加密貨幣都有自己的區塊鏈,它們運行在各自平臺之上,例如運行在以太坊之上的 ERC20 代幣,
以太坊
由兩部分組成:能夠存盤交易的區塊鏈和能夠運行智能合約的虛擬機,

在以太坊上除了原生幣種以太外,還支持其他代幣,它們可以像貨幣一樣作業,
如代表貨幣、公司股份、忠誠度積分、黃金證書等....
代幣的產生
通過智能合約創建,除此之外,該合約還會處理交易并跟蹤每個代幣持有者的余額數量情況,
如果你要獲得一些代幣,則必須向智能合約發送一些以太(其他測驗幣),然后合約會給你一定數量的代幣作為回報,因此,當你想創建自己的代幣時,您需要撰寫一個智能合約,該合約可以創建代幣、轉移代碼并跟蹤持有者余額,這聽起來容易,但做起來也很冒險,對初學者來說,一旦你部署了合約就無法更改,所以合約中存在錯誤,你也就無法修復了,那簡直是個災難!試想你的合約代碼有一個漏洞會導致使用者丟失他們的代幣,或者允許黑客竊取代幣,最后是互操作性問題,由于每種代幣合約可能不盡相同,如果您希望您的代幣在交易所可用,則交易所必須撰寫自定義代碼,以便他們能夠對接您的合約并允許人們進行交易,錢包的提供商亦是如此,支持數百個令牌將非常復雜且耗時,所以所以,以太坊社區提出來一個名為ERC20的代幣標準,
ERC20
首先解釋一下ERC,是下面英文的首字母縮寫(簡譯:以太坊征求稿),
Ethereum Request for Comments
而數字20只是分配給提案的編號, ERC20是創建自己代幣的指南和標準,它定義了你的智能合約應該實行的6個強制功能和3個可選功能(如下圖),
three optional functions
- name: 代幣名稱,
- symbol: 代幣符號,
- decimal: 代幣數量精確的小數位(上限18),

six mandatory functions
- totalSupply: 代幣總發行量,
- balanceOf: 查看指定賬戶的代幣數量,
- transfer: 轉移代幣,
- transferFrom: 轉移代幣,
- approve: 向其它用戶授權,
- allowance: 檢查用戶代幣余額,

為什么會有強制用戶實作的6個功能,因為ERC20是個interface介面合約,了解過面向物件編程的伙伴一定不會陌生(oo programming),這也就使得它對用戶無形中做了限制,但其中的業務邏輯我們可以自行撰寫,換句話說,ERC20提供了基本材料,具體輪子怎么造,看個人的了,與此同時,交易所和錢包提供商就只需依據ERC20的標準,自定義相應的合約并執行一次就可以快速為您添加代幣,省去大量時間和精力面對形形色色的代幣合約,現在大多數加密貨幣錢包都支持添加自定義代幣,
總結
ERC20的出現,推動了代幣的使用和發展,但它本身并不完美,它只是一個指導方針,人們可以根據個人喜好自由實作所需要的功能,比如一個有趣的問題:要創建代幣,需要往合約發送以太,但如果合約設計者沒考慮這一點,有些用戶會嘗試發送其它ERC代幣,結果是這些ERC代幣就此人間蒸發了,找不回來了,不過后來ERC223標準擴展了ERC20標準,它給與設計者關于代幣合約的一些風險并提供了解決辦法,
參考:ERC-20 代幣標準 | ethereum.org
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/413546.html
標籤:區塊鏈
上一篇:如何在多個檔案中搜索特定單詞
