UNPKG

efx-api-node

Version:

<img src="https://avatars3.githubusercontent.com/u/33315316?s=200&v=4" align="right" />

22 lines (15 loc) 510 B
const utils = require('ethereumjs-util') module.exports = (message, signature) => { const prefix = new Buffer('\x19Ethereum Signed Message:\n') message = new Buffer(message) const prefixedMsg = utils.sha3( Buffer.concat([prefix, new Buffer(String(message.length)), message]) ) const res = utils.fromRpcSig(signature) const pubKey = utils.ecrecover( prefixedMsg, res.v, res.r, res.s ) // return address from this pubKey return utils.bufferToHex(utils.pubToAddress(pubKey)) }