本文へスキップ
ecdsa.com

SIWE(Sign-In with Ethereum)

Ethereum アカウントでログインするための ERC-4361 のメッセージ形式です。ドメイン、アドレス、URI、バージョン、チェーン ID、nonce、発行日時を含む人間が読めるテキストで、personal_sign で署名します。
別表記Sign-In with EthereumERC-4361EIP-4361SIWE message

メッセージは example.com wants you to sign in with your Ethereum account: で始まり、その後にアドレス、任意のステートメント、そしてフィールド URI、Version(1)、Chain ID、Nonce(8 文字以上の英数字)、Issued At、さらに任意で Expiration Time、Not Before、Request ID、Resources が続きます。ウォレットはドメインとリクエスト元のオリジンを比較し、フィッシングを警告します。

サーバーは署名だけでなく、すべてを確認しなければなりません。ドメインと URI が自分のものであること、nonce が自分で発行した未使用のものであること、日時が有効であること、チェーン ID が想定どおりであることです。EOA の署名は EIP-191 に従って検証し、コントラクトアカウントの署名は、記載されたチェーン上で ERC-1271 を通じて検証します。SIWE 検証ツールは、これらのチェックを実行します。

規格と参考文献

すべての用語