ERC-20

ERC-20は、Ethereumブロックチェーン上で代替可能なトークンを作成するために使用される技術的な標準であり、トークンの動作に関する共通のルールセットを定義しています。

ERC-20は、Ethereum Request for Comments 20の略で、Ethereumブロックチェーン上のトークンのための標準インターフェースです。トークンの転送、残高の確認、トランザクションの承認など、トークンの動作方法に関する青写真を提供します。この標準化により、さまざまなトークンが互いに、そしてEthereum上に構築された分散型アプリケーション(dApps)とシームレスに相互作用できるようになります。互換性を確保し、トークン作成者とユーザーの両方にとって開発プロセスを簡素化します。

ERC-20標準は、totalSupply(), balanceOf(), transfer(), transferFrom(), approve(), および allowance() などの機能を定義しています。これらの機能により、トークンの総供給量の確認、ユーザーのトークン残高の確認、アドレス間のトークンの転送、および第三者がユーザーに代わってトークンを使用できるようにするなどの基本的なトークン操作が可能になります。この標準に準拠することで、トークンをウォレット、取引所、およびその他のEthereumベースのプラットフォームに簡単に統合できるようになります。

        graph LR
  Center["ERC-20"]:::main
  Pre_smart_contract["smart-contract"]:::pre --> Center
  click Pre_smart_contract "/terms/smart-contract"
  Pre_ethereum["ethereum"]:::pre --> Center
  click Pre_ethereum "/terms/ethereum"
  Pre_token["token"]:::pre --> Center
  click Pre_token "/terms/token"
  Center --> Child_stablecoin["stablecoin"]:::child
  click Child_stablecoin "/terms/stablecoin"
  Center --> Child_governance_token["governance-token"]:::child
  click Child_governance_token "/terms/governance-token"
  Rel_erc_721["erc-721"]:::related -.-> Center
  click Rel_erc_721 "/terms/erc-721"
  Rel_erc_1155["erc-1155"]:::related -.-> Center
  click Rel_erc_1155 "/terms/erc-1155"
  Rel_eips["eips"]:::related -.-> Center
  click Rel_eips "/terms/eips"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 理解度チェック

1 / 3

🧒 5歳でもわかるように説明

Think of ERC-20 like a universal remote control for digital money on [Ethereum](/ja/terms/ethereum). It makes sure all digital coins work the same way so your [wallet](/ja/terms/wallet) and other apps know how to send, receive, and check balances without needing special instructions for each coin.

🤓 Expert Deep Dive

The ERC-20 standard, codified in EIP-20, provides a foundational interface for fungible tokens on Ethereum. Its design prioritizes simplicity and broad compatibility, defining a minimal set of functions and events. The approve and transferFrom pattern is crucial for enabling decentralized exchanges (DEXs) and other protocols to act as token custodians without requiring direct token ownership. This pattern, however, introduces a potential attack vector: reentrancy. If a malicious contract calls back into the token contract after a transferFrom but before the balance is updated, it could potentially drain more tokens than intended. Robust implementations mitigate this through checks-effects-interactions pattern or reentrancy guards. The standard's fungibility implies that all token instances are identical, simplifying supply management but limiting expressiveness for unique digital assets. The absence of built-in minting or burning mechanisms means these functionalities must be explicitly coded into the contract, often leading to variations like MintableToken or BurnableToken contracts, which themselves can introduce additional security considerations.

🔗 関連用語

前提知識:
さらに詳しく:

📚 出典