【发布时间】:2018-04-01 21:51:21
【问题描述】:
我正在尝试让 web3.personal.ecRecover 工作。 这是我的设置:
使用 Remix IDE 的 Chrome
MetaMask 注入 web3.js
现在我正在 Chrome 开发控制台中尝试以下命令:
msg = web3.sha3('Schoolbus')
web3.eth.sign(web3.eth.accounts[0], msg , function(error, result){
if(!error)
console.log(result)
else
console.error(error);
})
返回:
0xd030d9a04df643f62a1502b017f51c41a659268091abbd20e2de97b935724d7c
现在我设置:
signature = "0x36f32cbd6133ce6be7efa4cb73ff3f9ddf9b7db3ba15fa543ab0a93d04a96c102693739f946f2d89eca9030b4c8e01bb6fada1c23f05b6a4956dd63deaf187501b"
并尝试:
web3.personal.ecRecover(msg,signature, function(error, result){
if(!error)
console.log(result)
else
console.error(error);
})
然后得到:
0xcc3f70c6caa9fee58bab68f292bdf3132c3c9ae2
显然这不是我使用的公共地址(即 web3.eth.accounts[0])
有任何改进此代码的建议吗? 谢谢!
S
【问题讨论】: