ERC-20 與 ERC-721 比較
簡單來說,ERC20是「每個代幣都一樣」;而ERC721則是「每個代幣都有其獨特性」
Interface
1 | contract ERC20Interface { |
總共有6個function以及2個event。其中constant的function是唯讀的,所以不會花費Gas。
Event只用於記錄,可以視為一般系統上的log功能。
1 | string public constant name = "Token Name"; |
另外還有三個需要設定的參數:name、symbol、decimals。name是Token的名字;symbol是Token的代稱(簡稱);decimals是Token小數最多可以到幾位數,正常為18,也就是和Ether一樣。
Function 說明
- totalSupply(),Token的發行總量。
- balanceOf(address),傳入地址的錢包的Token數量。
- allowance(address A, address B),A批准給B的Token量。
- transfer(address A, uint num),將數量為num的Token轉移給A。
- approve(address A, uint num),批准數量為num的Token轉移給A,需注意的是,這個function只是單純做「批准」這個動作,而沒有進行轉移。若需要轉移則要再呼叫transferFrom。
- transferFrom(address, address, uint),將數量為num的Token由A轉移給B。
注意事項
Solidity版本 >= 0.4.17