Ethereumアドレスのチェックサムとは
Ethereumアドレスのチェックサムとは、EIP-55で定義された大文字小文字の混在パターンです。40桁のhex文字をKeccak-256でハッシュし、対応するハッシュのニブルが8以上なら各英字を大文字にします。アドレス自体は変わらず、大文字小文字のパターンによって、どのウォレットでもオンチェーンの照会なしに入力ミスを検出できます。
EIP-55の仕組み
- 0xを除いた40桁のhex文字を小文字で取り出します。
- その40文字のASCII文字列(バイト列ではなく)のKeccak-256を計算します。
- 各位置について、文字が英字でハッシュの対応するhex桁が8以上なら大文字にします。
例:0xfb6916095ca1df60bb79ce92ce3ea74c37c5d359 は 0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359 になります。大文字は文字列全体のハッシュに依存するため、どの桁を変えても大文字になる文字が変わり、1文字の入力ミスでも検出されます。
チェックサム形式が必要な場面
- スマートコントラクトツールやSDK:ethers.jsやweb3.pyはチェックサムが不正な混在形式のアドレスを拒否し、一部はチェックサム付きの入力を必須とします。
- 許可リストや支払いシート:すべてのアドレスをEIP-55に正規化すると、大文字小文字だけが異なる重複が取り除かれ、誤ったエントリが明らかになります。
- 寄付や入金アドレスの公開:チェックサム形式なら、訪問者のウォレットが転記ミスを検出できます。
一括モード
1行に1件ずつアドレスを貼り付けてください。表には各入力、そのチェックサム形式、ステータスが表示されます:チェックサム有効、チェックサムなし(単一ケース)、チェックサム不一致。下部のコピーボタンで変換済みアドレスをまとめて取得できます。
検証済みのアドレスがあれば、Ethereum QRジェネレーターまたはUSDT ERC-20 QRジェネレーターで決済コードを作成できます。