以太坊代币事件监控_以太坊:什么是ERC20标准?
不以規(guī)矩,不能成方圓
許多人應(yīng)該都聽(tīng)過(guò) 代碼即法律(Code Is Law),因?yàn)槌绦驅(qū)懲炅?#xff0c;無(wú)論執(zhí)行多少次都會(huì)得到同樣的結(jié)果,除非有外界因素的干擾。在多人協(xié)作的過(guò)程中一定是要按照一個(gè)標(biāo)準(zhǔn)來(lái)進(jìn)行分工,這樣才能最快的完成整體任務(wù),不至于出錯(cuò)。
接觸過(guò)數(shù)字貨幣的人都應(yīng)該知道,以太坊是一個(gè)分布式的智能合約平臺(tái),可以分發(fā)代幣(Token)。目前以太坊上有24351個(gè)代幣的智能合約,我們可以在以太坊區(qū)塊鏈瀏覽器中查看https://www.etherscan.io
如果這么多代幣的標(biāo)準(zhǔn)不統(tǒng)一,對(duì)于其他人來(lái)查看代碼是相當(dāng)痛苦的,眾籌的人也就沒(méi)有辦法來(lái)檢查代幣分發(fā)的是否合理,也沒(méi)有辦法做到多種錢(qián)包的兼容。
所以才推出了一種以太坊代幣的標(biāo)準(zhǔn):ERC20標(biāo)準(zhǔn)。
ERC20標(biāo)準(zhǔn)涵蓋了哪些內(nèi)容?
我們可以在https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md查看ERC20代幣的標(biāo)準(zhǔn)API。
Method
在Method目錄下面我們可以看到一些方法,所有的ERC20代幣都是按照下面這些方法來(lái)定義的。下面我們講解一下每個(gè)方法的作用。
1.?name??
function name() constant returns (string name)返回string類(lèi)型的ERC20代幣的名字,例如:StatusNetwork
2. symbol
function symbol() constant returns (string symbol)返回string類(lèi)型的ERC20代幣的符號(hào),也就是代幣的簡(jiǎn)稱(chēng),例如:SNT。
3.? decimals
function decimals() constant returns (uint8 decimals)支持幾位小數(shù)點(diǎn)后幾位。如果設(shè)置為3。也就是支持0.001表示。
4. totalSupply
function totalSupply() constant returns (uint256 totalSupply)發(fā)行代幣的總量,可以通過(guò)這個(gè)函數(shù)來(lái)獲取。所有智能合約發(fā)行的代幣總量是一定的,totalSupply必須設(shè)置初始值。如果不設(shè)置初始值,這個(gè)代幣發(fā)行就說(shuō)明有問(wèn)題。
5. balanceOf
function balanceOf(address _owner) constant returns (uint256 balance輸入地址,可以獲取該地址代幣的余額。
6. transfer
function transfer(address _to, uint256 _value) returns (bool success)調(diào)用transfer函數(shù)將自己的token轉(zhuǎn)賬給_to地址,_value為轉(zhuǎn)賬個(gè)數(shù)
7. approve
function approve(address _spender, uint256 _value) returns (bool success批準(zhǔn)_spender賬戶從自己的賬戶轉(zhuǎn)移_value個(gè)token。可以分多次轉(zhuǎn)移。
8. transferFrom
function transferFrom(address _from, address _to, uint256 _value) returns (bool success)與approve搭配使用,approve批準(zhǔn)之后,調(diào)用transferFrom函數(shù)來(lái)轉(zhuǎn)移token。
9. allowance
function allowance(address _owner, address _spender) constant returns (uint256 remaining)返回_spender還能提取token的個(gè)數(shù)。
approve、transferFrom及allowance解釋:
賬戶A有1000個(gè)ETH,想允許B賬戶隨意調(diào)用100個(gè)ETH。A賬戶按照以下形式調(diào)用approve函數(shù)approve(B,100)。當(dāng)B賬戶想用這100個(gè)ETH中的10個(gè)ETH給C賬戶時(shí),則調(diào)用transferFrom(A, C, 10)。這時(shí)調(diào)用allowance(A, B)可以查看B賬戶還能夠調(diào)用A賬戶多少個(gè)token。
Events
1. Transfer
event Transfer(address indexed _from, address indexed _to, uint256 _value)當(dāng)成功轉(zhuǎn)移token時(shí),一定要觸發(fā)Transfer事件
2.Approval
event Approval(address indexed _owner, address indexed _spender, uint256 _value當(dāng)調(diào)用approval函數(shù)成功時(shí),一定要觸發(fā)Approval事件
總結(jié)
如果項(xiàng)目方要在以太坊上發(fā)行代幣來(lái)進(jìn)行融資,一定會(huì)按照這個(gè)標(biāo)準(zhǔn)來(lái)實(shí)現(xiàn)相應(yīng)的函數(shù)。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的以太坊代币事件监控_以太坊:什么是ERC20标准?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 鸿蒙系统新手教程,鸿蒙灭神决新手入门全流
- 下一篇: ENSP配置 实例十一 综合实验