Solidityで署名からアドレスを計算する方法

こんにちは、学生ブロックチェーンエンジニアのアカネヤ(@ToshioAkaneya)です。

本日は、Solidityで署名からアドレスを計算する方法を解説しまうす。

メッセージのハッシュと、署名であるv,r,sを用いて、次のように計算することができます。

ecrecover関数を使うことと、sha3(“\x19Ethereum Signed Message:\n32”, hash)というようにprefixをつけることがポイントです。(prefix付きのメッセージを署名した場合)

開発者の方の参考になれば幸いです。

スポンサーリンク