eth_sign
つぎのような Ethereum 固有の署名を計算するメソッドです。
sign(keccak256("\x19Ethereum Signed Message:\n" + len(message) + message)))
プレフィックスを入れることで、この署名が Ethereum のものであると認識することができます。
ここでのプレフィックスは、 \x19Ethereum Signed Message:\n です。
これにより、悪意をもった DApp が任意のデータに署名させることで、被害者になりすまして署名を使用することを防ぎます。
注意
署名を行うアドレスはアンロックされている必要があります。
パラメータ
1. DATA
20バイト
アドレス
2. DATA
Nバイト
署名するメッセージ
戻り値
DATA
署名
サンプル
code:example.sh
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sign","params":"0x9b2055d370f73ec7d8a03e965129118dc8f5bf83", "0xdeadbeaf","id":1}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": "0xa3f20717a250c2b0b729b7e5becbff67fdaef7e0699da4de7ca5895b02a170a12d887fd3b17bfdce3481f10bea41f45ba9f709d39ce8325427b57afcfc994cee1b"
}
参考
https://github.com/ethresearch/en-ethereum-wiki/blob/master/json-rpc.md#eth_sign
#JSON_RPC_API
Ethereum JSON RPC API 日本語リファレンス