ERC20代幣開發

2021-10-08 11:32:18 字數 3138 閱讀 4306

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傳送數量為_valuetoken到位址_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.匯入...