ERC-777 トークン規格
H
最終編集者: @HiroyukiNaito(opens in a new tab), 2023年8月15日
警告
ERC-777は、さまざまな手法の攻撃を受けやすいため(opens in a new tab)、適切な実装が困難です。 このため、ERC-20を使用することをおすすめします。本ページは、歴史的なアーカイブとして掲載するものです。
はじめに
ERC-777は、既存のERC-20規格を改善した代替性トークンの規格です。
事前に必要な環境
本ページの内容をよく理解するために、まずERC-20に目を通すことをおすすめします。
ERC-777は、ERC-20に対してどのような改善を提案しているか?
ERC-777は、ERC-20に対して以下の改善を提案します。
フック
フックとは、スマートコントラクトのコードで記述された関数です。 フックは、コントラクトによりトークンが送受信される際に呼び出されます。 これにより、スマートコントラクトはトークンの受信/送信に対応できるようになります。
フックの登録および検出は、ERC-1820(opens in a new tab)規格に基づいて実行されます。
フックの利点:
- フックを用いることで、トークンをコントラクトに送信する作業とコントラクトに通知する作業をひとつのトランザクションにまとめることができます。ERC-20(opens in a new tab)の場合、これには二重コール(
approve
/transferFrom
)が必要になります。 - 登録フックを持たないコントラクトは、ERC-777を利用できません。 受信コントラクトがフックを登録していない場合、送信コントラクトはトランザクションを中止します。 これにより、ERC-777非互換のスマートコントラクトに対する誤転送を防ぐことができます。
- フックは、トランザクションを却下することができます。
通貨の最小単位
ERC-777はさらに、ERC-20における通貨の最小単位
に関する混乱を解消します。 この混乱を解消することで、デベロッパーの利用体験が向上します。
ERC-20との後方互換性
ERC-777コントラクトとの間は、ERC-20コントラクトに対する場合と同様のやりとりが可能です。
参考文献
EIP-777: トークン規格(opens in a new tab)