ERC20トークンで実装すべきメソッドとイベントの解説




どうも高妻です。Twitterでプログラミングのことや暗号通貨のことをつぶやいているのでよかったらフォローしてください。  

 

ERC20トークンでは下記の8個のメソッドと2個のイベントの実装が仕様で決められています。下記GitHubの内容を和訳した内容になります。

eip-20-token-standard:https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md

メソッド

name

トークンの名称を返します。

オプション – このメソッドを使用してユーザビリティを向上させることができますが、インタフェースや他のコントラクトではこれらの値が存在するとは限りません。

symbol

トークンのシンボルを返します。例えばETHのようなアルファベット3文字などを設定します。

オプション – このメソッドを使用してユーザビリティを向上させることができますが、インタフェースや他のコントラクトではこれらの値が存在するとは限りません。

decimals

トークンが使用する小数点以下の桁数を返します。例えば8を指定した場合、トークン量を100000000で除算してユーザ表現を得ることを意味する。

オプション – このメソッドを使用してユーザビリティを向上させることができますが、インタフェースや他のコントラクトではこれらの値が存在するとは限りません。

totalSupply

発行済トークン数を返します。

balanceOf

_ownerというアドレスの別のアカウントの残高を返します。

transfer

_value分のトークンを_toに転送し、Transferイベントを発生させなければなりません。 _fromのアドレスに十分なトークンがない場合は、関数はスローしなければならない。 0の値の転送は、通常の転送として扱われなければならず、転送イベントを発生させなければならない。

transferFrom

トークンの_value量をアドレス_fromからアドレス_toに転送し、Transferイベントを発生させなければなりません。

transferFromメソッドは、ワークフローを取り消すために使用され、契約が代理でトークンを転送できるようにします。これは、例えば、契約があなたのためにトークンを転送すること、および/またはサブカードで料金を請求するために使用できます。 _fromアカウントが何らかの仕組みを介して意図的にメッセージの送信者を承認していない限り、throwしなければなりません。 0の値の転送は、通常の転送として扱われなければならず、転送イベントを発生させなければならない。

approve

_spenderが_value分まで複数回あなたの口座から退出することを許可します。この関数を再度呼び出すと、現在の余裕が_valueで上書きされます。

注:ここで説明し、ここで説明するような攻撃ベクトルを防ぐために、クライアントは、同じ払い人の別の値に設定する前に、最初に余裕を0に設定するようにユーザーインターフェイスを作成する必要があります。今まで契約していた契約との下位互換性を保つために、契約自体がそれを強制すべきではありません

allowance

_spenderが引き続き_ownerから引き出すことができる量を返します。

Events

Transfer

ゼロ値転送を含むトークンが転送されたときにトリガする必要があります。

新しいトークンを作成するトークン契約は、_fromアドレスが0x0に設定されたTransferイベントを、トークンが作成されたときにトリガすべきである。

Approval

承認に成功した呼び出し(アドレス_spender、uint256 _value)をトリガしなければならない。

 







コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です