erc幣是什么(簡單了解ERC-20代幣標準)
什么是 ERC-20 代幣?
ERC-20 代幣是僅在以太坊平臺上設計和使用的代幣。
它們遵循一系列標準,以便可以共享、交換其他代幣或轉移到加密錢包。
以太坊社區創建了這些標準,其中包含三個可選規則和六個強制性規則。
可選的
? 令牌名稱
? 縮寫符號Symbol
? 位數Decimal (最多 18 位)
必須包含的函數
? totalSupply
? balanceOf
? transfer
? transferFrom
? approve
? allowance
有點困惑?讓我們先往下看。
首先,什么是以太坊?
以太坊[1]是一個分散的計算機網絡,具有兩個基本功能。
它們是:可以記錄交易的區塊鏈,以及可以生成智能合約的虛擬機。
由于這兩個功能,以太坊能夠支持去中心化應用程序(DApps[2])。這些 DApp 建立在現有的以太坊區塊鏈之上,搭載其底層技術。作為回報,以太坊向開發人員收取他們網絡中的計算能力,只能以唯一的跨平臺貨幣以太幣支付。
根據其目的,DAPP 可能會創建 ERC-20 代幣以用作貨幣、公司股份、忠誠度計劃中的積分,甚至是所有權證明,例如一定數量的黃金或房屋契約.
智能合約在這一切中處于什么位置?
智能合約用于創建 ERC-20 代幣。
它們還用于促進代幣交易,并在賬戶中記錄代幣余額。
智能合約是在 If-This-Then-That (IFTTT) 邏輯的基礎上用編程語言“Solidity”編寫的。
把它想象成一臺自動售貨機。
智能合約創建代幣后會發生什么?
這就是 ERC-20 的用武之地。
創建代幣后,它可以交易、使用或贈送給其他人。
ERC-20 是以太坊網絡上所有代幣使用的通用語言。它允許一個代幣與另一個代幣進行交易。
假設我們想做一個加密賭.場。就像在實體賭場中一樣,為了簡單起見,我們希望我們的玩家使用我們的籌碼。
因此,玩家將他們的法定貨幣兌換成我們的代幣并前往撲克桌。
明白了這個類比,但這究竟是如何工作的?
讓我們在我們的“加密賭.場”示例中查看 ERC-20 的每條規則。
它們對于開發人員來說非常重要。
讓我們從可選規則開始:
代幣名稱:Blu Chip
符號:BLU
小數:2*
*我們希望我們的代幣是可分割的,這樣玩家的最低賭注是 0.01 BLU。我們可以將小數點保留為 0,并使 1 BLU 成為最小值,或者將小數點提高到 18,從而使 0.000000000000000001 BLU 成為可能的最低除法,但讓我們保持簡單。
現在到強制性規則:什么是 [totalSupply]?
[totalSupply] 標識創建的 ERC-20 代幣的總數。
我們的賭場需要擁有的第一件事是總共有多少 BLU 代幣在流通。假設我們的撲克桌共有 10 個 BLU,有 10 個玩家。
【transfer】呢?
[transfer] 允許將一定數量的代幣從總供應量轉移到用戶帳戶。
在游戲開始之前,玩家必須從莊家那里收到他們的 BLU。
每個玩家獲得 1 個 BLU。
函數 [balanceOf] 有什么作用?
當執行 [balanceOf] 函數時,它返回給定地址在其帳戶中的代幣數量。
在我們撲克游戲的第一手牌中,有 5 位玩家看了看自己的牌并決定不玩。其余 5 人中的每一個都決定下注 0.5 BLU。使用 [balanceOf],我們看到五個玩家有 1 個 BLU,五個玩家有 0.5 個 BLU。
我如何從其他用戶那里獲得 ERC-20 代幣?
[transferFrom] 是允許用戶將代幣轉移給另一個用戶的功能。
好消息!你贏了第一手牌,從其他玩家那里獲得了 2.5 BLU。
但是為了從他們那里拿走它,你需要[transferFrom]。沒有這個,有什么辦法阻止別人偷你的藍隊?
有什么方法可以偽造令牌嗎?
不行,因為 [approve] 根據代幣的總供應量檢查交易。
它確保沒有遺漏或多余的東西。
保護我們假設的撲克游戲完整性的另一種方法是確保沒有人將額外的 BLU 帶到桌面上。因此,[approve] 通過檢查表上 BLU 的總數是否等于 10 來允許交換。
我可以撒謊說我擁有的代幣比實際擁有的多嗎?
不行。
在交易發生之前,[allowance] 功能會檢查用戶賬戶的余額,如果沒有足夠的代幣將取消交易。
我們不允許在我們的“加密賭場”中有貸款,因此我們需要確保每個玩家都有足夠的 BLU 進行投注。如果他們只有 1 個 BLU,那么他們不能下注 2 個 BLU。
ERC-20 有什么好處?
基本上,它使一切變得更加簡單。
在 ERC-20 代幣之前,開發人員可能會在代碼中使用其他術語 - 例如一個令牌使用 [totalAmount] 而另一個使用 [totalNumber]。
交易所和錢包需要建立自己的平臺以適應每一個令牌的代碼。
根據通用標準,新的代幣可以放在交易所,或者在創建后自動轉移到錢包中。
ERC-20 還使新代幣的創建變得非常容易,這就是為什么以太坊成為[3]2017 年最受歡迎的 ICO 平臺的原因。
ERC-20有什么問題嗎?
ERC-20 并不完美。
ERC-20 代幣標準沒有解決一些問題。
在某些情況下,當代幣被用作智能合約的支付而不是使用以太幣時,它們可能會被無意銷毀。估計因此損失[4]了 300 萬美元。
為了修復這個錯誤,以太坊社區目前正在制定一個新標準
命名為ERC-223[5]。但是,這些標準與 ERC-20 不兼容,因此鼓勵開發人員繼續使用 ERC-20,直到實現兼容性。
2018 年 4 月,由于batchOverflow[6]漏洞,一些交易所暫停了基于以太坊的代幣的存款和取款。[7]它被描述為“經典整數溢出問題”,并可能允許攻擊者“擁有大量令牌”。 值得注意的是,[8]目前沒有傳統的安全方法可以修復這些漏洞。
現實世界有什么例子?
以太坊平臺上的每個代幣都是 ERC-20 代幣。
截至發稿時編號為[9]82815,讓我們來看看其中的一些。
EOS[10](EOS)是目前市值近 120 億美元 的第五大加密貨幣,它正在嘗試建立一個可以利用區塊鏈間通信的網絡,[11]
TRON[12](TRX)在撰寫本文時在所有加密貨幣中排名[13]第 10,被描述為“數字娛樂行業的開源協議”。它旨在推出一個具有生態系統的內容平臺,將所有創建不同類型內容的人聯系起來。
“企業級公共區塊鏈平臺”唯[14]鏈(VEN)是市值排名第 15[15]的加密貨幣,它正計劃實施物聯網(IoT)技術,為每個產品提供私鑰,從而可以跟蹤它們。
引用鏈接
[1] 以太坊: https://cointelegraph.com/tags/ethereum
[2] DApps: https://cointelegraph.com/tags/dapps
[3] 成為: https://techcrunch.com/2017/06/08/how-ethereum-became-the-platform-of-choice-for-icod-digital-assets/
[4] 損失: https://github.com/Dexaran/ERC223-token-standard
[5] ERC-223: https://medium.com/cryptomover/what-are-erc20-and-erc223-tokens-307badcca5a
[6] batchOverflow: https://medium.com/@peckshield/alert-new-batchoverflow-bug-in-multiple-erc20-smart-contracts-cve-2018-10299-511067db6536
[7] 暫停了基于以太坊的代幣的存款和取款。: https://cointelegraph.com/news/multiple-exchanges-suspend-erc20-token-trading-due-to-potential-batchoverflow-bug
[8] ,: https://medium.com/@peckshield/alert-new-batchoverflow-bug-in-multiple-erc20-smart-contracts-cve-2018-10299-511067db6536
[9] 編號為: https://etherscan.io/tokens
[10] EOS: https://eos.io/
[11] 第五大加密貨幣,它正在嘗試建立一個可以利用區塊鏈間通信的網絡,: https://coinmarketcap.com/currencies/eos/
[12] TRON: https://tron.network/enindex.html
[13] 排名: https://coinmarketcap.com/currencies/tron/
[14] 唯: https://www.vechain.org/
[15] 排名第 15: https://coinmarketcap.com/currencies/vechain/