ERC-20

ERC-20 は Ethereum 上で fungible token(代替可能トークン)を発行・管理するための標準規格


1. 基本概要

  • ERC = Ethereum Request for Comments の略。提案番号 20。
  • Fungible(代替可能) = 1トークンと他の同額トークンに差がない。例:USDT, DAI, LINK。
  • スマートコントラクトの共通ルールを定め、ウォレットや取引所との互換性を保証する。

2. 主な関数(必須)

ERC-20 規格では、以下の関数・イベントを実装する必要がある。

関数

  1. totalSupply():発行済み総供給量を返す
  2. balanceOf(address account):指定アドレスの残高を返す
  3. transfer(address to, uint256 amount):トークンを送金
  4. approve(address spender, uint256 amount):第三者に利用許可を与える
  5. allowance(address owner, address spender):許可残高を確認
  6. transferFrom(address from, address to, uint256 amount):許可を受けた第三者が送金

イベント

  • Transfer:送金が発生したときにログを出す
  • Approval:利用許可が設定されたときにログを出す

3. ERC-20 トークンの仕組み

  • トークンは Ethereum のネイティブ資産(ETH)ではなく スマートコントラクトの記録
  • ユーザーの「残高」はスマートコントラクトの内部マッピングに保存される。
  • transfer で残高が減少/増加し、イベントでウォレットやブロックチェーンエクスプローラに反映される。

4. 実例

  • ステーブルコイン:USDT, USDC, DAI
  • ガバナンストークン:UNI(Uniswap), COMP(Compound)
  • ユーティリティトークン:LINK(Chainlink)

5. 注意点

  • セキュリティリスク:approve の使い方を誤ると資産流出リスクがある
  • 規格外拡張:ERC-777 や ERC-1155 など新しい規格も登場している
  • ガス代:送金や承認は ETH でガスを支払う必要がある

まとめ

ERC-20 は Ethereum のトークン標準規格で、互換性と流通を支える基礎。
最低限の関数とイベントを備えたスマートコントラクトで実装され、DeFiやICOの基盤となっている。