## はじめにイーサリアムは、去中心化アプリケーション(DApp)のオープンプラットフォームとして、2014年にヴィタリック・ブテリンによって設立されました。ブテリンがこの新しいブロックチェーンを構築した動機は、主にビットコインプロトコルの柔軟性が不十分であることから来ています。誕生以来、イーサリアムブロックチェーンは多くの開発者、企業、起業家を引き寄せ、新興産業を生み出し、ユーザーがスマートコントラクトや分散型アプリケーションを展開できるようにしました。この記事では、トークンを作成するための重要なフレームワークであるERC-20規格について深く探討します。イーサリアムネットワークのみに適用されますが、それはGateチェーンのGEP-2のような他のブロックチェーン規格の誕生にインスピレーションを与えました。## ERC-20 標準分析イーサリアムエコシステムにおいて、ERCは「イーサリアムリクエストフォーコメント」を表します(Ethereum Request for Comments)。これらの技術文書は、イーサリアムのプログラミング仕様を概説しています。注意すべき点は、ERCはイーサリアム改善提案(EIP)とは異なることで、後者はビットコインのBIPに類似しており、主にプロトコル自体の改善提案に関係しています。ERCの目標は、アプリケーションとコントラクト間で相互運用可能なプロトコルを確立することです。ERC-20は、Vitalik ButerinとFabian Vogelstellerによって2015年に共同で策定され、Ethereumに基づくトークンのための比較的簡単な標準形式を提供します。この規範に従うことで、開発者は再設計する必要がなく、既存の業界基盤の上に直接構築することができます。新しいERC-20トークンが作成されると、それらはERC-20標準をサポートするさまざまなサービスやソフトウェア(、ソフトウェアウォレット、ハードウェアウォレット、取引プラットフォームなどと)自動的に相互運用することができます。注目すべきは、ERC-20標準が現在EIP(、特にEIP-20)に進化したことです。最初に広まった提案から何年も経過し、その後数年の発展を経てもなお、「ERC-20」という名称は広く使われ続けています。## イーサリアムトークンの概要ETH(のネイティブ暗号通貨)とは異なり、ERC-20トークンはアカウントに直接保存されず、契約内部にのみ存在し、独立したデータベースのようなものです。それはトークンのルール(、例えば名前、シンボル、分割可能性)を定義し、ユーザーの残高をマッピングするEthereumアドレスのリストを維持します。トークンを移転するには、ユーザーはスマートコントラクトにトランザクションを送信し、コントラクトに残高の一部を再分配するよう要求する必要があります。例えば、アリスがボブに5,000個のGateアカデミートークン(GateAcademyTokens)を送信したい場合、彼女は対応するスマートコントラクト内で関数を呼び出してこの指示を実行します。彼女の呼び出し命令は、一見普通のイーサリアム取引の中に含まれており、その取引はトークン契約に0 ETHを支払っています。この呼び出しは取引の他のフィールドに含まれており、アリスの意図を示しています—この例では、彼女はトークンをボブに転送したいと考えています。イーサリアムを送信しなくても、アリスは取引がブロックに含まれるように一定の手数料を支払う必要があります。ETHがない場合、彼女はトークンを移動する前にいくつかのETHをチャージするべきです。以下はEtherscan上の実際のケースです:あるユーザーがBUSD契約を呼び出しました。トークンが転送され、手数料が支払われたことがわかりますが、価値の欄には0 ETHが送信されたと表示されています。次に、典型的なERC-20契約の構造について詳しく探っていきます。## ERC-20トークンの作成プロセスERC-20標準に基づき、あなたの契約は6つの必須関数を実装する必要があります: totalSupply、balanceOf、transfer、transferFrom、approve、allowanceです。さらに、name、symbol、decimalなどのいくつかのオプション関数を定義することもできます。これらの関数の名前は基本的にその機能を反映していますが、理解できなくても心配はいりません。後の内容で一つ一つ説明します。以下は、イーサリアム独自のSolidity言語を使用してレンダリングされた関数です。### totalSupply 関数が解析されます
ERC-20トークンの詳細な分析
はじめに
イーサリアムは、去中心化アプリケーション(DApp)のオープンプラットフォームとして、2014年にヴィタリック・ブテリンによって設立されました。ブテリンがこの新しいブロックチェーンを構築した動機は、主にビットコインプロトコルの柔軟性が不十分であることから来ています。
誕生以来、イーサリアムブロックチェーンは多くの開発者、企業、起業家を引き寄せ、新興産業を生み出し、ユーザーがスマートコントラクトや分散型アプリケーションを展開できるようにしました。
この記事では、トークンを作成するための重要なフレームワークであるERC-20規格について深く探討します。イーサリアムネットワークのみに適用されますが、それはGateチェーンのGEP-2のような他のブロックチェーン規格の誕生にインスピレーションを与えました。
ERC-20 標準分析
イーサリアムエコシステムにおいて、ERCは「イーサリアムリクエストフォーコメント」を表します(Ethereum Request for Comments)。これらの技術文書は、イーサリアムのプログラミング仕様を概説しています。注意すべき点は、ERCはイーサリアム改善提案(EIP)とは異なることで、後者はビットコインのBIPに類似しており、主にプロトコル自体の改善提案に関係しています。ERCの目標は、アプリケーションとコントラクト間で相互運用可能なプロトコルを確立することです。
ERC-20は、Vitalik ButerinとFabian Vogelstellerによって2015年に共同で策定され、Ethereumに基づくトークンのための比較的簡単な標準形式を提供します。この規範に従うことで、開発者は再設計する必要がなく、既存の業界基盤の上に直接構築することができます。
新しいERC-20トークンが作成されると、それらはERC-20標準をサポートするさまざまなサービスやソフトウェア(、ソフトウェアウォレット、ハードウェアウォレット、取引プラットフォームなどと)自動的に相互運用することができます。
注目すべきは、ERC-20標準が現在EIP(、特にEIP-20)に進化したことです。最初に広まった提案から何年も経過し、その後数年の発展を経てもなお、「ERC-20」という名称は広く使われ続けています。
イーサリアムトークンの概要
ETH(のネイティブ暗号通貨)とは異なり、ERC-20トークンはアカウントに直接保存されず、契約内部にのみ存在し、独立したデータベースのようなものです。それはトークンのルール(、例えば名前、シンボル、分割可能性)を定義し、ユーザーの残高をマッピングするEthereumアドレスのリストを維持します。
トークンを移転するには、ユーザーはスマートコントラクトにトランザクションを送信し、コントラクトに残高の一部を再分配するよう要求する必要があります。例えば、アリスがボブに5,000個のGateアカデミートークン(GateAcademyTokens)を送信したい場合、彼女は対応するスマートコントラクト内で関数を呼び出してこの指示を実行します。
彼女の呼び出し命令は、一見普通のイーサリアム取引の中に含まれており、その取引はトークン契約に0 ETHを支払っています。この呼び出しは取引の他のフィールドに含まれており、アリスの意図を示しています—この例では、彼女はトークンをボブに転送したいと考えています。
イーサリアムを送信しなくても、アリスは取引がブロックに含まれるように一定の手数料を支払う必要があります。ETHがない場合、彼女はトークンを移動する前にいくつかのETHをチャージするべきです。
以下はEtherscan上の実際のケースです:あるユーザーがBUSD契約を呼び出しました。トークンが転送され、手数料が支払われたことがわかりますが、価値の欄には0 ETHが送信されたと表示されています。
次に、典型的なERC-20契約の構造について詳しく探っていきます。
ERC-20トークンの作成プロセス
ERC-20標準に基づき、あなたの契約は6つの必須関数を実装する必要があります: totalSupply、balanceOf、transfer、transferFrom、approve、allowanceです。さらに、name、symbol、decimalなどのいくつかのオプション関数を定義することもできます。これらの関数の名前は基本的にその機能を反映していますが、理解できなくても心配はいりません。後の内容で一つ一つ説明します。
以下は、イーサリアム独自のSolidity言語を使用してレンダリングされた関数です。
totalSupply 関数が解析されます