ERC-777 トークン規格
警告
ERC-777は様々な形式の攻撃に対して脆弱であるため、正しく実装することが困難です。代わりにERC-20の使用を推奨します。 このページは歴史的なアーカイブとして残されています。
はじめに
ERC-777は、既存のERC-20規格を改善した代替可能トークン規格です。
前提条件
このページをより良く理解するために、まずERC-20について読むことをお勧めします。
ERC-777はERC-20に対してどのような改善を提案していますか?
ERC-777はERC-20に対して以下の改善を提供します。
フック
フックは、スマートコントラクトのコードで記述された関数です。フックは、コントラクトを通じてトークンが送信または受信されるときに呼び出されます。これにより、スマートコントラクトは入出金されるトークンに反応することができます。
フックはERC-1820規格を使用して登録および検出されます。
フックが優れている理由
- フックを使用すると、トークンをコントラクトに送信し、1回のトランザクションでコントラクトに通知することができます。一方、ERC-20では、これを実現するために二重呼び出し(
approve
/transferFrom
)が必要です。 - フックを登録していないコントラクトは、ERC-777と互換性がありません。受信コントラクトがフックを登録していない場合、送信コントラクトはトランザクションを中止します。これにより、非ERC-777スマートコントラクトへの誤送信を防ぐことができます。
- フックはトランザクションを拒否することができます。
小数点
この規格は、ERC-20で生じたdecimals
に関する混乱も解決します。この明確化により、開発者の体験が向上します。
ERC-20との後方互換性
ERC-777コントラクトは、ERC-20コントラクトであるかのように操作することができます。