ERC20は、イーサリアムブロックチェーン上でスマートコントラクトを作成および展開するための標準を指す。ERC20トークンは、イーサリアムブロックチェーン上に存在し、それらの基準に準拠するデジタル化されたトークンである。
イーサリアムブロックチェーンは、特定の条件が満たされたときに自動的に実行されるようにプログラムできる仮想契約であるスマートコントラクト専用に構築された。この機能は、多くの種類の新しい分散型アプリケーション(DApps)を作成する機能を提供するため、他の多くのプラットフォームとそのトークンがEthereumブロックチェーンの上に構築されている。
最も人気のあるユーティリティトークンと分散型金融(DeFi)アプリケーションのかなりの数が、イーサリアム上に構築されている。しかし、開発者が自分のトークンをネットワークに受け入れてもらいたい場合、従わなければならない特定の規格であるERC-20がある。
- ERC20トークンは、イーサリアムブロックチェーン上に存在し、そ基準に準拠するデジタル化されたトークン
- ERC-20は、イーサリアムブロックチェーン上でスマートコントラクトを作成および展開するための規格である。
- ERC-20トークンの主な目的は、スマートコントラクトと連携し、イーサリアムブロックチェーン上のすべてのトークンが遵守する共通のルールリストを定義する。
- ERC-20トークン規格は非代替可能トークン(NFT)は対象外
- ERC-20は、イーサリアムベースのトークンが持つべき重要な機能と、それらがどのように機能するべきかを指定
- 必須の6つはAllowance(アローワンス)、Approve(アプローブ:承認)、TransferFrom(トランスファーフローム)、Transfer(トランスファー)、BalanceOf(バランスオブ)、TotalSupply(トータルサプライ)である。
- オプションの3つはToken Name(トークンネーム)、Decimal(桁数)、Symbol(シンボル)である。
ERC20とは?

ERC-20は、イーサリアムブロックチェーン上でスマートコントラクトを作成および展開するための規格である。ERC20トークンは、イーサリアムで発行できるトークンの形式であり、暗号通貨が準拠できる一連の標準も表している。
ERC-20トークンの主な目的は、スマートコントラクトと連携し、イーサリアムブロックチェーン上のすべてのトークンが遵守する共通のルールリストを定義することである。
イーサ(ETH)はイーサリアムネットワークのネイティブ暗号通貨であるが、ERC20トークンは、開発者がイーサリアムベースのトークンを作成するために従うことができる特定の標準を表している。

このトークン規格は代替可能トークンのみを対象としており、非代替可能トークン(NFT)は対象外となっており、1つのERC-20トークンを別のトークンと交換することができる。
ERC-20スマートコントラクトは、ERC-20トークンを使用して、プロトコルが要求したときにトランザクションを容易にする。したがって、トランザクション機能を利用するスマートコントラクトは、ERC-20トークンの形でユーザーに支払う。USDCやDAIなどの人気のあるステーブルコインの多くは、ERC-20トークンとなっている。

ERC20により、多くの新しいトークンの作成が可能になったが、現時点で、時価総額の高い最も人気のあるERC20トークンとして下記のものがある。
ERC20はどのように機能する?
ERC20は標準プロトコルであり、プログラムやソフトウェアでは無い。ERC-20は、イーサリアムベースのトークンが持つべき重要な機能と、それらがどのように機能するべきかを指定している。トークンがERC-20によって定義された適切な技術基準に準拠していない場合、ERC20トークンの定義に適合しないためにイーサリアムで発行、取引、または取引所に上場することはできない。
適切なERC標準には全部で9つのルールがあり、そのうち6つが必須であり、他の3つはオプションとなっている。これらには以下のものが含まれる。
必須の6つはAllowance(アローワンス)、Approve(アプローブ:承認)、TransferFrom(トランスファーフローム)、Transfer(トランスファー)、BalanceOf(バランスオブ)、TotalSupply(トータルサプライ)である。
一方でオプションの3つはToken Name(トークンネーム)、Decimal(桁数)、Symbol(シンボル)である。
Allowance(アローワンス)
スマートコントラクトがトランザクションを実行する場合、トランザクションを実行しようとしているEthereumウォレットが保持する残高を確認できる必要がある。
手当関数は最も重要なものである。実際には、コントラクトがトランザクションを実行したい場合、ユーザーがそのための最小残高を持っているかどうかを理解するために、Ethereumスマートコントラクトの残高を確認する必要がある。アローワンス機能を使用して、契約は取引を実行することも、キャンセルすることもできる。
Approve(アプローブ:承認)
スマートコントラクト機能の承認を要求することで、偽造トークンが作成される可能性を排除する役割を持つ。
承認機能は、トークンの偽造を取り除くのに役立る。ここで、契約所有者が残高を確認したら、契約を承認してお金を回収することができる。この承認機能は、トークンの総供給量と比較してその数が正しいかどうかもチェックする。そのため、トークンを偽造することは不可能であり、この関数が数字の中に差別を見つけた場合、支払いとスマートコントラクトを破棄する。
TransferFrom(トランスファーフローム)
必要に応じてトランザクションの自動化を可能にする。
この転送機能は、基本的に特定のトランザクションを自動化するためのものである。たとえば、毎月同じ金額を誰かに支払う必要がある場合や、家賃と請求書を支払う必要がある場合がある。したがって、transferFromを使用して、特定の日時にこれらの支払いを自動化できる。
Transfer(トランスファー)
他のブロックチェーンベースのトランザクションと同様に、あるアドレスから別のアドレスへのトークンの転送を許可する。
ユーザーが転送するのに十分なトークンを持っているかどうかを確認した後、所有者はこの機能を使用してトークンを別のアドレスに送信できまる。さらに、これは他のブロックチェーンプラットフォームの典型的な暗号トランザクションのように機能する。
BalanceOf(バランスオブ)
アドレスが保持するトークンの総数を返すことで、ユーザーが残高を確認できる。
実際にはユーザー情報として機能するため、最初にトークンを作成して他のアドレスに送信した場合は、これを使用して残りのトークン数を確認できる。
TotalSupply(トータルサプライ)
TotalSupplyは主に、作成したいERC20トークンの総数である。トークンを作成するには、まずこのトークンの総供給量を決定する必要がある。これらのトークンの価値に大きな影響を与える。
Token Name(トークンネーム)
トークンの名称である。
Decimal(桁数)
小数点以下の桁数である。通常18桁を使用されるのが一般的である。
Symbol(シンボル)
トークンのシンボルである。イーサリアムの場合には「ETH」、ソラナの場合には「SOL」のように表示されているものである。通常3文字が多く、4文字のものもある。