ERC-20 トークンとは: イーサリアムのトークン標準 (2026) の完全ガイド
— By Tony Rabbit in Tutorials

ERC-20 トークンとは何ですか?イーサリアムのトークン標準の完全ガイド: 6 つの必須機能、トップトークン、メタマスクインポート、セキュリティ (承認/取り消し)、および BEP-20 の違い (2026)。
イーサリアムでトークンを保有したり、分散型取引所で取引したり、 ステーブルコイン USDC と同様、または DeFi プロトコルと対話して、ERC-20 トークンを使用しました。この単一の規格は、ネイティブのブロックチェーン コインではないすべての暗号資産の大部分を支えています。テザーやチェーンリンクからユニスワップや柴犬まで、イーサリアム上で名前を付けることができるほぼすべてのトークンは、同じ一連のルール、つまり ERC-20 仕様に従います。
ERC-20 は、代替可能なトークンが内部でどのように動作するかを定義する技術標準です。 スマートコントラクト イーサリアム上の 。これは、すべてのウォレット、取引所、および DeFi プロトコルに、トークンがどの機能を公開する必要があるか、どのイベントを発行する必要があるか、および転送がどのように機能する必要があるかを正確に伝えます。この予測可能性が、MetaMask があらゆるトークン残高を表示できる理由、Uniswap が数分で新しいトークンをリストできる理由、そして開発者がカスタム統合コードを作成せずに準拠した資産の上に複雑な財務プリミティブを構築できる理由です。
このガイドでは、ERC-20が技術レベルで実際に何であるか、必須機能とオプション機能の違い、DeFiを強化する有名なapproveとtransferFromパターン、EtherscanでERC-20コントラクトを識別する方法、ERC-721やERC-1155などの他のトークン標準と比較する方法、カスタムトークンをMetaMaskに追加する方法、およびその際に注意すべきリスクについて学びます。承認を与えること。最終的には、トークン コントラクトを読み、その安全性を評価し、2026 年にはイーサリアム エコシステム全体で自信を持ってトークン コントラクトを使用できるように標準を十分に理解できるようになります。

ERC-20 トークンとは
ERC-20 は、イーサリアムのコメント要求、番号 20 の略です。これは、イーサリアム上でのトークンの動作を標準化する方法として、2015 年 11 月に開発者の Fabian Vogelsteller によって提案されました。 ERC-20 が存在する前は、イーサリアム上のすべてのトークンは異なる方法で実装されていました。つまり、ウォレット、取引所、その他のコントラクトは、それぞれと対話するためのカスタム コードを作成する必要がありました。その結果、断片化、バグが発生し、相互運用性に対する大きな障壁となりました。
Vogelsteller の提案は最終的に EIP-20 (イーサリアム改善提案 20) となり、2017 年 9 月に最終決定されました。正式な名称は EIP-20 であっても、「ERC」という名前はそのまま残りました。標準は意図的に最小限に抑えられています。これは、代替可能なトークン コントラクトが実装する必要がある一連の関数とイベントを定義しますが、基礎となるロジックは開発者に任されています。これは、ERC-20 トークンが標準インターフェイスを公開している限り、固定供給、鋳造可能供給、燃焼メカニズム、譲渡税、またはその他のカスタム動作を持つことができることを意味します。
ERC-20 コントラクトは本質的に、残高の台帳を管理するスマート コントラクトです。コントラクト内には、各アドレスが所有するトークンの数を格納するマッピング (キーと値のテーブル) があります。 ERC-20 トークンを誰かに「送信」する場合、実際にはオブジェクトを転送するわけではありません。トークン コントラクトで、自分の残高をいくらか減らし、受信者の残高を同じ金額だけ増やす関数を呼び出しています。トークンがコントラクトから離れることはありません。契約は内部台帳を更新するだけです。
これは理解すべき基本的な概念です。とは異なります ETH や BTC などのコイン、ERC-20 トークンは、意味のある意味でウォレットに保存されません。あなたのウォレットは、どのトークン契約があなたのアドレスに残高があると記録したかを追跡するだけです。トークン コントラクトが破棄された場合 (これは特定の管理機能で発生する可能性があります)、秘密キーが有効なままであっても、トークンは事実上消滅します。
トークン規格が重要な理由
ERC-20 が暗号の歴史の中で最も重要な標準の 1 つとなった理由は相互運用性です。すべての準拠トークンは同じ 6 つの機能を公開し、同じ 2 つのイベントを発行するため、ウォレット、取引所、オラクル、インデクサー、または DeFi プロトコルは、トークンに関する事前知識を必要とせずに、ERC-20 トークンと対話できます。 Uniswap は、特定のトークンが内部で何を行うかを知る必要はありません。契約アドレスを知るだけで、すぐに電話をかけることができます。 transferFrom() スワップ中にトークンを移動します。
この標準化により、2020 年から始まる分散型金融の爆発的な普及が可能になりました。Aave や Compound などの融資プロトコルは、インターフェイス レベルですべて同じように動作するため、何千もの異なるトークンで動作します。 トケノミクス と、新しいトークンの展開には、十分にテストされたコードをコピーするだけで済むため、経済実験の実行コストが安くなりました。ブロック エクスプローラー、ポートフォリオ トラッカー、税務ソフトウェア、および分析ダッシュボードはすべて、同じ標準化されたイベントをリッスンすることで、ERC-20 トークンに自動的にインデックスを付けることができます。
トークン標準がなければ、私たちが知っているようなイーサリアムエコシステムは存在しません。各トークンにはオーダーメイドのウォレット統合が必要であり、各 DEX には資産ごとのカスタム コードが必要であり、新しいプロジェクトを立ち上げる際の摩擦は非常に大きくなります。 ERC-20 は、6 つの必須関数と 2 つの必須イベントという非常にシンプルなインターフェイスでこの問題を解決しました。
ERC-20 の 6 つの必須機能
ERC-20 仕様では、準拠するすべてのトークン コントラクトが実装する必要がある 6 つの機能が定義されています。これらの関数は、すべての外部コードが対話するパブリック インターフェイスです。コントラクトにこれらのうちの 1 つでも欠けている場合、そのコントラクトは技術的に ERC-20 に準拠しておらず、多くのウォレットやプロトコルがそのコントラクトでの動作を拒否する可能性があります。
現在存在するトークンの総数を返します。エクスプローラー、時価総額計算ツール、監査ツールによって使用されます。
特定のイーサリアムアドレスのトークン残高を返します。これにより、ウォレットはあなたが保有しているトークンの量を知ることができます。
特定の量のトークンを呼び出し元のアドレスから別のアドレスに直接移動します。最も単純な送信操作。
別のアドレス (多くの場合、スマート コントラクト) が、あなたに代わって特定の量のトークンを使用することを承認します。
支出者が所有者の残高から引き出すことができる残高を返します。アクティブな承認を追跡するために重要です。
以前に承認された許可を使用して、あるアドレスから別のアドレスにトークンを移動します。すべてのDEXスワップとDeFiデポジットの基礎。
最初の 3 つの関数、 totalSupply()、 balanceOf()、および transfer()は、トークン アカウンティングの基本です。誰でも供給を読み、残高を確認し、トークンを直接送信できるようになります。 ERC-20 がこの 3 つだけを備えていれば、すでに便利ですが、私たちが知っている DeFi ではそれは不可能です。
次の 3 つの関数は、 approve()、 allowance()、および transferFrom()、委任された支出パターンを形成します。これにより、ユーザーは、定義された制限までウォレットからトークンを取得するスマート コントラクトを承認できるようになります。これにより、事前にトークンを保持しなくても、DEX、融資プロトコル、ステーキング契約、ブリッジが動作できるようになります。このパターンは、ERC-20 関連のセキュリティ インシデントのほとんどの原因でもあるため、後ほど詳しく説明します。
3 つのオプション関数: name()、symbol()、decimals()
6 つの必須機能に加えて、ERC-20 仕様では 3 つのオプション機能が定義されています。これらは技術的にはコンプライアンスに必須ではありませんが、ウォレットや取引所は表示目的でそれらに依存しているため、実際にはすべての最新のトークンがそれらを実装しています。
名前() は、「USD Coin」や「Chainlink Token」など、人が読めるトークンの名前を返します。これは、MetaMask や他のウォレットで見られる文字列です。 シンボル() は、「USDC」や「LINK」など、通常 3 ~ 5 文字の短いティッカーを返します。 小数点() は、トークンが使用する小数点以下の桁数を返します。これは、コントラクトが内部的に保存する整数値と、フロントエンドで表示される人間が判読できる金額との間で変換する方法です。
10 進数関数は、頻繁に混乱を引き起こす原因となるため、さらに詳しく説明する価値があります。 Ethereum スマート コントラクトは、小数をネイティブに処理できません。すべての残高は整数として保存されます。分数を表すために、ERC-20 トークンは 10 進数値で定義された乗数を使用します。イーサリアムの規則は小数点以下 18 桁で、ETH 自体が wei で使用するのと同じです。したがって、1 LINK の残高が表示されると、コントラクトには実際には整数 1,000,000,000,000,000,000 が格納されます。ウォレットは、10 の 18 乗で除算して表示されます。
すべてのトークンが 18 進数を使用するわけではありません。たとえば、USDC と USDT は米ドルに固定されており、極端な精度を必要としないため、小数点以下 6 桁のみを使用します。 WBTC はビットコインの SATOSHI 精度と一致させるために 8 桁の小数を使用します。実験的なトークンの中には、割り切れないように小数点以下 0 を使用するものもあります。このため、未加工のトークン残高を計算する前に、常に小数値を確認することが重要です。初期の DeFi によくあったバグは、実際のトークンでは 6 または 8 が使用されているのに、小数点以下 18 桁を想定しており、送金が 1,000 億倍以上ずれることにつながりました。
ERC-20 イベント: 転送と承認
関数は、外部コードがコントラクトを呼び出す方法です。イベントは、コントラクトが何かが起こったことを外部の世界に通知する方法です。 ERC-20 標準では、すべてのトークンが発行する必要がある 2 つの必須イベントが定義されています。これらのイベントは、ブロック エクスプローラー、インデクサー、分析ツールがトークン アクティビティを追跡する方法の基礎となります。
1つ目は event Transfer、トークンが 2 つのアドレス間を移動するたびに発行されます。これには、ミント (ゼロ アドレスから) とバーン (ゼロ アドレスへ) が含まれます。トークンの全履歴におけるすべての転送は、これらのログによってキャプチャされます。これはまさに Etherscan と DexTools が、ブロックチェーン全体をクロールすることなく、ERC-20 トークンの完全な転送履歴を表示できる方法です。各トークン コントラクトからの転送イベントをサブスクライブし、インデックス付け可能なデータベースに保存するだけです。
2つ目は event Approval、所有者が承認機能を通じて支出者を承認するたびに発行されます。 Revoke.cash、Etherscan の Token Approval Checker、さまざまなウォレット セキュリティ拡張機能などのツールはすべて、これらのイベントに依存して、現在トークンの使用を許可されている契約の完全なリストを表示します。標準化されたイベントがなければ、この種のクロスプロトコル監視は不可能です。
このイベント駆動型アーキテクチャには、美しい副作用があります。イベントはオンチェーンで発行され、トランザクションレシートに保存されるため、永続的かつ透過的で、暗号的に検証可能です。どの分析ツールでも、コントラクトのデプロイメント ブロックからイベントを再生することで、トークンの完全な履歴を独立して再構築できます。これは、パブリック ブロックチェーンとその上に構築された標準の過小評価されている超大国の 1 つです。

approve() / transferFrom() パターン
ERC-20 について 1 つだけ深く学ぶ場合は、このパターンにします。承認とtransferFromフローはDeFiの存在を可能にするものであり、不注意に使用されるとウォレットの流出や承認エクスプロイトの大部分を引き起こす原因でもあります。
このパターンが解決する問題は次のとおりです。スマート コントラクトはウォレットにアクセスしてトークンを取得することはできません。彼らには許可が必要です。しかし、トークンをコントラクトに送信して、それをどう扱うかを期待することもできません。 transfer() 関数はコールバックをトリガーしたり、資金が到着したことを受信者に通知したりしません。この解決策は、2 段階の委任承認モデルです。
ステップ 1 で、ユーザーは次の電話をかけます。 approve() により、特定の支出者 (多くの場合、DEX ルーターまたは融資プール) に、定義された量までのトークンを支出する権利が付与されます。これは、最初のスワップの前に MetaMask が新しいトークンの承認を求めるときに署名するものです。ステップ 2 で、実際にスワップをトリガーすると、DEX コントラクトが呼び出します。
トークンコントラクトの transferFrom() 。これにより、許容量がチェックされ、アドレスから DEX が必要とする場所にトークンが移動されます。これはすべて 1 つのアトミックトランザクションで行われます。この署名ステップの詳細については、「 承認トランザクション。
このパターンは、承認と実行を分離しているため、エレガントです。一度承認すると、その許容量が完全に消費されるか取り消されるまで、その許容量に対して任意の数の操作を実行できます。また、再利用可能です。つまり、キャンセルするまで、次のスワップや次の貸出預金などにも同じ承認が機能します。上記の警告にあるように、欠点は、承認は、プロトコルの使用を完全に停止した場合でも、明示的に取り消すまで存続する許可スリップであることです。
Etherscan で ERC-20 トークンを識別する方法
Etherscan は、イーサリアムで最も広く使用されているブロック エクスプローラーであり、ERC-20 コントラクトを検査するための強力なツールを提供します。トークンの Etherscan ページの読み方を知ることは、ミームコインの購入、新しい DeFi ローンチの調査、ポートフォリオの監査など、新しいトークンを扱う人にとって最も価値のあるスキルの 1 つです。
トークン コントラクト アドレスを Etherscan に貼り付けると、トークン トラッカー ページが表示されます。このページには、トークン名、シンボル、総供給量、保有者数、および総転送量が自動的に表示されます。これらはすべて、Etherscan が上で説明した標準の ERC-20 機能とイベントから派生したものです。このページは、準拠する ERC-20 契約に対して自動的に生成され、プロジェクト チームによる手動介入は必要ありません。それが標準の力です。
[契約] タブには、最も役立つ情報が含まれています。開発者がソース コードを検証している場合は、実際のコードを読むことができます。 Solidity トークンの動作を定義するコード。標準ではインターフェイスのみが強制され、各関数内で何が起こるかは強制されないため、これは重要です。トークンで実装できるのは、 transfer() は、10% の税金を徴収したり、特定のアドレスをブラックリストに登録したり、送金を完全に一時停止したり、さらに悪いことにします。確立されていないトークンを操作する前に、必ず検証済みのソース コードを確認してください。
[契約の読み取り] セクションでは、トランザクションを必要とせずにブラウザから直接ビュー関数を呼び出すことができます。 totalSupply を確認したり、任意のアドレスの残高を確認したり、許容量を照会したりできます。 [契約の書き込み] セクションでは、ウォレットに接続する場合に状態変更関数を呼び出すことができますが、ほとんどのユーザーはこれらを直接ではなく DEX またはウォレット インターフェイスを通じてトリガーします。 [所有者] タブには、トークンの所有権の分布が表示されます。これは、新しいトークンを購入する前に集中リスクを評価するために不可欠です。上位 10 のウォレットが供給量の 90% を保持している場合、それは危険信号です。
ERC-20 と他のトークン規格の比較
ERC-20 は最も有名なイーサリアム トークン規格ですが、それだけではありません。ユースケースが異なれば、必要なプロパティも異なります。イーサリアム コミュニティは、関連する標準のファミリーを開発しました。それらの比較を理解することは、ERC-20 が何で、何がそうでないかを明確にするのに役立ちます。
ERC-20 トークンは代替可能です。つまり、すべてのユニットが同一で交換可能です。 1 つの USDC は他の USDC と同じです。 ERC-721、標準 NFTはその逆です。各トークンには一意の ID と一意のプロパティがあります。これらは互換性がないため、明示的な合意なしに、ある CryptoPunk を別の CryptoPunk と交換することはできません。 ERC-1155 は、単一のコントラクトで代替可能トークンと代替不可能なトークンの両方を管理できるハイブリッドであり、単一のコントラクトで伝説の剣 (代替不可) と並んで金貨 (代替可能) を処理する可能性があるゲームで特に人気があります。
ERC-4626 は新しい標準の 1 つで、2022 年に完成し、2024 年までに広く採用されます。ERC-20 をベースに構築されたラッパー標準です。 4626 ボールトは、特定の ERC-20 トークンの入金を受け入れ、基礎となるプールの所有権を表す株式を発行します。 Yearn Finance ボールト、MakerDAO の sDAI、および多くの貸付市場レシート トークンはこのパターンに従います。 4626 は ERC-20 から継承しているため、すべてのボールト共有自体が完全に譲渡可能な ERC-20 トークンです。つまり、利回りを伴う領収書を Uniswap プールに入れたり、他の場所で担保として使用したりすることができます。
2026 年のトップ ERC-20 トークン
ERC-20 エコシステムには数万のトークンが含まれていますが、それらの小さなセットが価値と量の大部分を集中させています。 2026 年に知っておくべき最も重要な ERC-20 トークンのいくつかを以下に示します。
Circle の規制された米ドル ステーブルコイン。現金と短期国債によって 1:1 裏付けされています。
テザーは、毎日の量で世界で最も取引されているステーブルコインです。
MakerDAO の分散型ステーブルコイン。担保付き債務ポジションを通じて米ドルにソフトペッグされています。
Uniswap ガバナンス トークン、料金の切り替えとプロトコルのアップグレードを制御します。
Aave プロトコル ガバナンス。安全モジュールでのステーキングにも使用されます。
DeFi全体の価格フィードのバックボーンであるChainlinkオラクルネットワークトークン。
時価総額と保有者数で最大のミームコインの1つであるShiba Inu。
カエルをテーマにしたミームトークンは 2023 年に発売され、現在はイーサリアム上のミーム文化の旗艦となっています。
多様性に注目してください。 USDC、USDT、DAI などのステーブルコインは、オンチェーン決済の主力コインです。 UNI や AAVE などのガバナンス トークンは、主要なプロトコルの制御を分散します。 LINK は重要なインフラストラクチャに電力を供給します。 SHIB と PEPE は、正式な実用性を持たないトークンであっても、ミームが注目を集めると時価総額 10 億ドルに達する可能性があることを証明しています。それらはすべてまったく同じ ERC-20 インターフェイスを使用しているため、カスタム統合なしですべてが MetaMask、Uniswap、および DexTools で動作します。
カスタム ERC-20 を MetaMask に追加する方法
MetaMask は最も人気のある ERC-20 トークンを自動的に表示しますが、新しいトークンやあまり一般的ではないトークンは手動でインポートする必要があります。手順を理解すれば、このプロセスは速く、イーサリアム上の準拠した ERC-20 または EVM 互換ネットワークでも同様に機能します。
まず、信頼できる情報源から正式な契約アドレスを見つけます。トークンの公式 Web サイト、プロジェクトの検証済み Etherscan ページ、DexTools、または CoinGecko はすべて信頼できます。ランダムな Telegram メッセージや Twitter の返信から契約アドレスを決してコピーしないでください。詐欺師は、正規のトークンと同じ名前の偽のトークンを定期的に展開し、ユーザーが間違った契約をインポートして資金を失うことを狙っています。
次に、MetaMask を開いて、正しいネットワーク上にいることを確認します。イーサリアムメインネット上の ERC-20 トークンは、Arbitrum、Base、または Polygon 上の対応するものとは異なるコントラクトです。 [トークン] タブをクリックし、リストの下部にある [トークンのインポート] をクリックします。契約書の住所を住所フィールドに貼り付けます。 MetaMask は、コントラクトをクエリすることによって、記号と小数を自動的に入力する必要があります。これらのフィールドが空白のままの場合、契約は ERC-20 に完全に準拠していない可能性があり、これ自体が調査する価値のある警告サインです。
インポートを確認します。トークンがウォレットのトークン リストに表示され、契約の現在の状態に基づいて残高が表示されます。トークンをインポートしても残高には影響しないことに注意してください。トークンはあなたのアドレスの契約にすでに存在します。インポートでは、どのコントラクトをクエリして表示するかを MetaMask に指示するだけです。カスタム トークンは、そもそも MetaMask に存在していないため、何も失うことなくいつでも削除できます。
他のチェーンの ERC-20
ERC-20 はイーサリアムで始まりましたが、その設計は非常にシンプルで便利なので、存在するすべてのイーサリアム仮想マシン互換ブロックチェーンにコピーされています。 BNB スマート チェーンはそのバージョンを BEP-20 と呼んでいますが、機能的には同一であり、同じ 6 つの機能と同じ 2 つのイベントを備えています。 Polygon、Arbitrum、Optimism、Base、Avalanche C-Chain、Fantom、その他多数の EVM チェーンはすべて、ERC-20 標準をネイティブに使用しています。
これが、USDC のようなトークンが Ethereum、Arbitrum、Base、Polygon、Optimism、Avalanche、その他多くのチェーンに存在できる理由です。各バージョンは、それぞれのチェーン上の個別の ERC-20 コントラクトであり、多くの場合、正規のイーサリアム メインネット コントラクトからブリッジされますが、それ以外の点では同じように動作します。 MetaMask のようなウォレットは各バージョンを個別に処理するため、送信する前にトークンがどのチェーンに存在するかを常に確認する必要があります。チェーン間のトークンのブリッジングでは、完全に異なるメカニズムが使用され、多くの場合、ブリッジ チュートリアルで説明するロック パターンとミント パターンが含まれます。
TRON ブロックチェーンには、と呼ばれる USDT バージョンもあります。 TRC-20、ERC-20 と同様の目的を果たしますが、技術的には互換性がありません。 TRON は EVM チェーンではないため、そのスマート コントラクトは異なるバイトコードと ABI 規則を使用します。その結果、USDT TRC-20 と USDT ERC-20 には互換性がありません。 TRC-20 を ERC-20 アドレスに送信すると (またはその逆)、通常は資金が失われます。この種のクロスチェーンの混乱は、ユーザーが暗号通貨でお金を失う最も一般的な方法の 1 つです。
セキュリティ: Approve エクスプロイトと古い承認を取り消す必要がある理由
承認パターンは ERC-20 の最も強力な機能の 1 つであり、セキュリティ上の最大の弱点でもあります。 DEX を交換したり、融資プロトコルに入金したり、DeFi スマート コントラクトを操作したりするたびに、その契約にトークンを移動する許可を付与することになります。これらの承認は、明示的に取り消さない限り無期限に存続します。多くのユーザーは、数年前に一度使用したプロトコルの承認を何百も忘れています。

ほとんどの DeFi プロトコルは、将来の運用でガスを節約するために、可能な最大量 (2^256 - 1) の承認を要求します。プロトコルコントラクトが悪用されたり、ハッキングされたり、脆弱性が含まれたりした場合、攻撃者はそのタイプのすべてのトークンを、それを承認したすべてのウォレットから流出させる可能性があります。これは繰り返し起こりました。常に定期的に 古い承認を取り消す Revoke.cash または Etherscan のトークン承認チェッカーを使用します。
幸いなことに、承認の取り消しは簡単です。 Revoke.cash のようなツールは、すべての主要な EVM チェーンにわたってウォレット上のすべてのアクティブな承認を表示し、ワンクリックで許容量をゼロにリセットするトランザクションを送信します。悪いニュースは、取り消しにはガソリン代がかかるため、ユーザーは手遅れになるまで取り消しを無視する傾向があるということです。合理的な習慣としては、特に新しいプロトコルや実験的なプロトコルを使用した後は、数か月ごとに承認を確認し、完全に信頼できないプロトコルについては無制限に承認しないことです。
承認関連の 2 番目のクラスのリスクには、フィッシング署名攻撃が含まれます。 EIP-2612 許可拡張機能 (次のセクションで説明します) を使用すると、ユーザーはオンチェーン トランザクションではなくオフチェーン署名を使用してトークンを承認できます。フィッシング サイトはユーザーをだまして、無害に見える許可証に署名させますが、実際には攻撃者にトークンを排出する許可を与えます。署名内容を常に読み、「無料の請求」または「ウォレットの確認」のプロンプトには極度の疑いを持って対処してください。
進化: ERC-777、ERC-1363、EIP-2612、ERC-4626
ERC-20 は意図的に最小限に抑えられており、コミュニティは長年にわたってその制限に対処するための拡張機能を開発してきました。これらはいずれも ERC-20 に完全に置き換わるものではありませんが、それらはすべて現代のイーサリアム トークンの状況を理解するための重要なコンテキストです。
ERC-777 は、より高度な代替トークン標準として 2017 年に提案されました。これにより、コントラクトが受信トークンに反応できるようにするフックが導入され、承認と transferFrom ダンスの 2 つのステップが不要になりました。エレガントなデザインでしたが、最終的には物議を醸しました。再入フックは単純な DeFi 契約と組み合わせると危険であることが判明し、ERC-777 トークンを含む注目すべき Uniswap V1 エクスプロイトにより、ほとんどの主要なプロトコルで 777 トークンが明示的に禁止されました。その結果、養子縁組は決して普及しませんでした。
ERC-1363 は、追加の支払い可能なトークン拡張機能です。 transferAndCall は機能し、単一のトランザクションでトークンを転送し、受信コントラクトでアクションをトリガーできるようにします。新しい機能を上に追加するだけなので、ERC-20 との完全な下位互換性があります。導入は控えめではありますが、新しいプロトコルでは増加しています。
EIP-2612 は、オンチェーントランザクションではなくオフチェーン署名を介して承認を与える方法である許可機能を導入しました。これは、ユーザーがウォレット内のメッセージに署名し、サードパーティが実際の転送とともにその署名をトークン コントラクトに送信できることを、すべて 1 つのトランザクションで実行できることを意味します。ユーザーは承認のためにガスを支払いません。 Permit は、DAI、USDC、その他多くの新しいトークンで広くサポートされています。これは便利ですが、ユーザーのウォレットには明確な承認トランザクションが表示されないため、上記のフィッシング ベクトルも招きます。
ERC-4626 上ですでに説明しました。これにより、利回りを伴うボールトが株式を発行する方法が標準化され、あらゆるボールトをあらゆる DeFi プロトコルに接続できるようになります。デポジット、引き出し、ミント、引き換え、totalAssets、convertToShares、および ConvertToAssets 関数は、どのボールトでも実装できる統合インターフェイスを形成します。
独自の ERC-20 トークンの作成
ERC-20 トークンの作成は、スマート コントラクトを出荷する最も簡単な方法の 1 つです。 OpenZeppelin コントラクト ライブラリは、Solidity のわずか数行で拡張できる、実際にテストされ、監査された標準の実装を提供します。イーサリアム上のほぼすべての主要なトークンは、OpenZeppelin を直接使用するか、OpenZeppelin からフォークします。
OpenZeppelin を使用する最小限の ERC-20 トークンは、約 20 行のコードです。 ERC20 の基本コントラクトを継承し、コンストラクターでトークンに名前とシンボルを指定し、必要に応じてデプロイヤへの初期供給を作成すれば完了です。オプションの拡張機能には、ユーザーが独自のトークンを書き込めるようにするための ERC20Burnable、最大供給を強制するための ERC20Capped、緊急一時停止のための ERC20Pausable、チェックポイントによるガバナンス対応の投票力追跡のための ERC20Votes が含まれます。
導入ワークフローでは通常、Foundry、Hardhat、または Remix が使用されます。 Foundry はその速度のおかげで本格的な開発者に人気のフレームワークとして浮上していますが、Remix は完全にブラウザーで実行されるため、依然として初心者にとって最も簡単なエントリー ポイントです。コントラクトを作成してコンパイルした後、それをターゲット ネットワークに展開し、誰もがコードを見て読めるように Etherscan でソース コードを検証します。検証は信頼を構築するために重要であり、特に流動性や上場を目指すトークンにとっては重要です。
ただし、トークンの導入は最初のステップにすぎません。トークンが成功するには、DEX の流動性、コミュニティ、明確な物語、そして理想的には誠実な配布慣行が必要です。毎月数万のトークンが展開されますが、その大部分は意味のある取引量を集めることができません。説得力のあるトークンノミクス、透明性のある権利確定、ロックされた流動性、所有権の放棄は、正規のチームが敷物引っ張りや詐欺と区別するために使用する一般的なシグナルです。
よくある質問
ERC-20 は何の略ですか?
ERC-20 は、イーサリアムのコメント要求、番号 20 の略です。これは、イーサリアムのコメント要求プロセスに基づいて提出された 20 番目の提案を指します。これは、イーサリアム プロトコルの技術標準が正式に提案され、議論される方法です。この標準は最終的にイーサリアム改善提案 20 (EIP-20) として正式に制定されましたが、ERC-20 という名前は日常的に使用される口語的な用語のままです。
USDC は ERC-20 トークンですか?
はい、イーサリアムメインネットのUSDCはERC-20トークンです。そのコントラクト アドレスは 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 で、2018 年の発売以来、ERC-20 に完全に準拠しています。USDC は他の多くのチェーン (Solana、Stellar、およびさまざまな EVM チェーン) にも存在しますが、これらのバージョンは、適用されるローカル トークン標準を使用する別のコントラクトです。イーサリアム バージョンは正規の ERC-20 USDC であり、USDC の総供給量の大部分を占めています。
ERC-20 と BEP-20 の違いは何ですか?
BEP-20 は、BNB スマート チェーンのトークン標準です。機能的には ERC-20 と本質的に同一であり、同じ機能署名、同じイベント、同じ承認パターンを使用します。違いは基盤となるブロックチェーンです。 ERC-20 はイーサリアム上に存在し、イーサリアムのセキュリティとエコシステムの恩恵を受けますが、BEP-20 は BNB スマート チェーン上に存在し、より低い手数料とより高速なブロックの恩恵を受けます。 USDT のようなトークンは、ERC-20 バージョンと BEP-20 バージョンの両方として存在し、ブリッジなしでは交換できません。
独自の ERC-20 トークンを作成できますか?
はい、OpenZeppelin などのライブラリを使用して、Solidity のわずか数行で誰でも ERC-20 トークンを作成できます。導入にはガス費用がかかります (通常、イーサリアムのメインネットでは 20 ドルから数百ドル程度ですが、契約の複雑さやネットワークの状況によって異なります)。ただし、トークンの作成は簡単です。実際の実用性を構築し、保有者を惹きつけ、DEX に流動性を提供することは、トークンが展開を超えた価値を持つかどうかを決定するより困難な課題です。
ERC-20 移送のガス料金はいくらですか?
イーサリアムメインネットでの典型的な ERC-20 転送には、受信者がすでにトークンの残高を持っている場合は約 65,000 ガスユニットがかかり、受信者が新しいアドレスの場合は約 50,000 ガスユニットかかります (わずかに高いコストは他の力学によって相殺されます)。ガス価格 20 グウェイの場合、これは送金ごとに約 0.0013 ETH に相当します。実際のドルコストは、現在の ETH 価格とネットワークの混雑状況に完全に依存します。 Arbitrum や Base などのレイヤー 2 ロールアップは、これらのコストを 10 ~ 100 分の 1 に削減します。
ERC-20 トークンはなぜ小数点以下 18 桁を使用するのですか?
ETH 自体はエーテルの 1 京分の 1 (10 のマイナス 18) であるウェイで表記されているため、小数点以下 18 桁が慣例となっています。トークンを同じ精度で揃えることで、スマート コントラクト内の ETH とトークンの間で計算を行う際の混乱を避けることができます。ただし、ERC-20 では小数点以下 18 桁は強制されません。 USDC や USDT などのステーブルコインはドル固定であり、極端な精度を必要としないため、小数点以下 6 桁を使用します。 WBTC はビットコインの SATOSHI システムを反映するために 8 つの小数点を使用します。未加工のトークン残高を計算する前に、必ず小数点をチェックしてください。
結論
ERC-20 は、暗号経済全体の縁の下の力持ちです。これは、必要な機能が 6 つと必要なイベントが 2 つだけという一見単純な仕様ですが、数兆ドル規模のトークン発行、DeFi エコシステム全体、そして従来の金融では夢見ることしかできなかったレベルの相互運用性を可能にしました。イーサリアムおよびすべての EVM 互換チェーン上のすべてのステーブルコイン、すべてのガバナンス トークン、すべてのミーム コイン、およびすべてのイールド ベアリング ボールトは、最終的には 2015 年に EIP-20 によって定義されたのと同じ言語を話します。
このガイドで説明したレベルで ERC-20 を理解すると、大きな利点が得られます。 Etherscan でトークン コントラクトを読み、その承認面を評価し、危険信号を特定し、カスタム トークンを間違いなく MetaMask にインポートし、DeFi プロトコルがそのように動作する理由を推論できるようになりました。また、この標準の最も危険な弱点である、approve および transferFrom パターンについても十分に理解しており、定期的な失効と慎重な署名の習慣によって安全に管理できるようになりました。
スタンダードは進化し続ける。許可署名、アカウントの抽象化、ERC-4626 などの新しい拡張機能により、ユーザーがトークンを操作する方法が再構築されています。しかし、コアの ERC-20 インターフェイスは、すべてのウォレット、取引所、インデクサー、プロトコルに深く組み込まれているため、実質的に永続的なインフラストラクチャとなります。暗号通貨の技術標準を 1 つだけ学習する場合は、これを学習してください。オンチェーンで行われるほぼすべてのインタラクションは、それを通じて実行されます。