Pectra後のEIP-7702:Ethereum アプリ開発者のための実践的プレイブック
· 約12分
2025年5月7日、EthereumのPectraアップグレード(Prague + Electra)がメインネットにリリースされました。開発者にとって最も目に見える変更の一つがEIP-7702で、これは外部所有アカウント(EOA)が資金を移行したりアドレスを変更したりすることなく、スマートコントラクトロジックを「マウント」できるようにします。ウォレット、dapp、リレイヤーを構築している場合、これはスマートアカウントUXへのより簡単な道筋を提供します。
以下は実装重視の簡潔なガイドです:実際に出荷されたもの、7702がどのように動作するか、純粋なERC-4337よりもいつ選択するべきか、そして今日適用できるコピー&ペースト可能なスカフォールド。
実際に出荷されたもの
- EIP-7702はPectraの最終範囲に含まれています。 Pectraハードフォークのメタ-EIPは、含まれる変更の中に7702を正式にリストしています。
- アクティベーション詳細: Pectraは2025年5月7日のエポック364032でメインネット上でアクティベートされ、すべての主要テストネットでの成功したアクティベーションに続きました。
- ツールチェーン注記: Solidity v0.8.30は、Pectra互換性のためにデフォルトEVMターゲットをpragueに更新しました。コンパイラとCIパイプラインをアップグレードする必要があります、特に特定のバージョンを固定している場合。
EIP-7702—どのように動作するか(詳細)
EIP-7702は新しいトランザクションタイプと、EOAがその実行ロジックをスマートコントラクトに委任するメカニズムを導入します。
- 新しいトランザクションタイプ(0x04): タイプ4トランザクションには
authorization_list
という新しいフィールドが含まれます。このリストには一つ以上の認証タプル—(chain_id, address, nonce, y_parity, r, s)
—が含まれ、それぞれEOAの秘密鍵で署名されています。このトランザクションが処理されると、プロトコルはEOAのコードフィールドに委任インジケーターを書き込みます:0xef0100 || address
。それ以降、EOAへのすべての呼び出しは指定されたaddress
(実装)にプロキシされますが、EOAのストレージとバランスコンテキスト内で実行されます。この委任は明示的に変更されるまで有効です。 - チェーンスコープ: 認証は
chain_id
を提供することでチェーン固有にできるか、chain_id