web3.eth.personal.sign
使用指定账户对数据进行签名。
注意,在未加密的HTTP连接上发送账户密码极其不安全!
调用:
web3.eth.personal.sign(dataToSign, address, password [, callback])
参数:
dataToSign
:String - 要签名的数据。会先使用web3.utils.utf8ToHex()将字符串转化为16进制address
:String - 用来签名的账户地址password
:String - 用来签名的账户密码callback
:Function - 可选的回调函数,其第一个参数为错误对象,第二个参数为结果签名
返回值:
一个Promise对象,其解析值为签名结果字符串。
示例代码:
web3.eth.personal.sign("Hello world", "0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe", "test password!")
.then(console.log);
> "0x30755ed65396facf86c53e6217c52b4daebe72aa4941d89635409de4c9c7f9466d4e9aaec7977f05e923889b33c0d0dd27d7226b6e6f56ce737465c5cfd04be400"
// 下面代码实现同样功能
web3.eth.personal.sign(web3.utils.utf8ToHex("Hello world"), "0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe", "test password!")
.then(console.log);
> "0x30755ed65396facf86c53e6217c52b4daebe72aa4941d89635409de4c9c7f9466d4e9aaec7977f05e923889b33c0d0dd27d7226b6e6f56ce737465c5cfd04be400"