erc20
是以太坊上的乙個代幣協議,所有基於以太坊開發的代幣合約都遵守這個協議。只有遵守這些協議的代幣,我們才認為是標準化的代幣。這些標準化的代幣可以被各種以太坊錢包支援,用於不同的平台和專案。總的來說如果想在以太坊上發行代幣融資,必須要遵守erc20標準。
erc20標準介面:
contract erc20
name
返回erc20代幣的名字,例如」demo」。
symbol
返回代幣的簡稱,例如:demo,這個也是我們一般在代幣交易所看到的名字。
decimals
返回token使用的小數點後幾位。比如如果設定為3,就是支援0.001表示。
totalsupply
返回token的總**量
balanceof
返回某個位址(賬戶)的賬戶餘額
transfer
從代幣合約的呼叫者位址上轉移_value
的數量token
到的位址_to
,並且必須觸發transfer
事件。
transferfrom
從位址_from
傳送數量為_value
的token
到位址_to
,必須觸發transfer
事件。
允許_spender
多次取回您的帳戶,最高達_value
金額。 如果再次呼叫此函式,它將以_value
覆蓋當前的餘量。
allowance
返回_spender
仍然被允許從_owner
提取的金額。
後面三個方法不好理解,這裡還需要補充說明一下,
賬戶a有1000個eth
,想允許b賬戶隨意呼叫他的100個eth
,過程如下:
b賬戶想用這100個eth
中的10個eth
給c賬戶,呼叫transferfrom(a, c, 10)
呼叫allowance(a, b)
可以檢視b賬戶還能夠呼叫a賬戶多少個token
pragma solidity ^
0.4.17
;contract ******tokenstruct
function
transfer
(address _to, uint256 _value)
public
returns
(bool success)
function
transferfrom
(address _from, address _to, uint256 _value)
public
returns
(bool success)
function
(address _spender, uint256 _value)
public
returns
(bool success)
function
allowance
(address _owner, address _spender)
public view returns
(uint256 remaining)
event transfer
(address indexed _from, address indexed _to, uint256 _value)
;//定義了乙個事件,暫時不管
(address indexed _owner, address indexed _spender, uint256 _value)
;//定義了乙個事件,這裡暫時不管
}
實際**:
contract ******token is ******tokenstruct
(address=>uint256)
public balanceof;
//將位址對映為uint,代表賬戶餘額
(address=>
(address=>uint256)
function
transfer
(address _to, uint256 _value)
public
returns
(bool success)
function
transferfrom
(address _from, address _to, uint256 _value)
public
returns
(bool success)
function
(address _spender, uint256 _value)
public
returns
(bool success)
function
allowance
(address _owner, address _spender)
public view returns
(uint256 remaining)
event transfer
(address indexed _from, address indexed _to, uint256 _value)
;//暫時不管
(address indexed _owner, address indexed _spender, uint256 _value)
;//暫時不管
}
如何歸集ERC20代幣?
假設你的平台要支援50種erc20代幣,使用者會向你的平台生成的以太坊位址充值,然後你要歸集這些平台位址上的代幣到你的冷錢包。問題 你為使用者生成的平台充值位址上並沒有以太幣,因此就沒有辦法直接用這個位址來呼叫erc20代幣的trasfer 方法進行歸集。我知道gas費用不能省掉,那麼能不能使用其他...
ERC20代幣的標準API
methods 1.name function name constant returns string name 返回string型別的erc20代幣的名字,例如 statusnetwork 2.symbol 符號 function symbol constant returns string s...
以太坊代幣事件監控 以太坊ERC20代幣合約案例
一.erc20代幣合約與web3呼叫 二.erc20合約標準 contract erc20 require compilcaipiao const bytecode bytecodejsonobj.bytecode const inte ce bytecodejsonobj.inte ce 2.匯入...