DoAccording to the documentation, it’s web3.eth.sign(data, address)
. I think you inversed the parameters. See https://web3js.readthedocs.io/en/1.0/web3-eth.html#sign.
Also, do you send the good hash
in the call_ecover
function? I think you need to send the hash of msg
(in your case, a hash of a hash: web3.sha3(msg)
).