LoginSignup
2
0

More than 5 years have passed since last update.

ERC20とは

Posted at

ERCとは

ERCはEIP(Ethereum Improvement Proposal)の1種です。EIPとはEthereumのシステム改善提案のことを意味します。
EIPは以下のリポジトリでまとめられており、プルリクエストを送ることで提案を行うことができます。
https://github.com/ethereum/EIPs

一方でERCはEthereum Request for Commentの略でEthereumのアプリケーションレベルのスタンダードや規則を規定する提案書を指します。コントラクトに関わる提案はここに含まれます。

ERC20について

ERC20以下にEIPとして取り込まれています。
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
ERC20はEthereunmのトークンのinterfaceの標準を定めたものです。
多くのトークンに共通する標準的なインターフェースを定めることで、ウォレットやDEXなど、Ethereum上でトークンが共通して利用できるようにすることを目指しています。
ERC20に準拠したトークンを作成する際には以下のメソッドを記述する必要があります。

トークンの供給量を返す
function totalSupply() view returns (uint256 totalSupply)
あるアドレスの残高を返す
function balanceOf(address _owner) view returns (uint256 balance)
あるアドレスに指定した量を送金
function transfer(address _to, uint256 _value) returns (bool success)
あるアドレスから別のaddressに指定した量を送金
function transferFrom(address _from, address _to, uint256 _value) returns (bool success)
_spenderがアカウントから_valueの量まで複数回引き出すことを許可します。 
function approve(address _spender, uint256 _value) returns (bool success)
_spenderが_ownerから引き出せる量を返します.
function allowance(address _owner, address _spender) view returns (uint256 remaining)

Eventとして以下の2つを実装

event Transfer(address indexed _from, address indexed _to, uint256 _value)
event Approval(address indexed _owner, address indexed _spender, uint256 _value)

オプショナルで以下の3つのメソッドもあります。

function name() view returns (string name)
function symbol() view returns (string symbol)
function decimals() view returns (uint8 decimals)
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0