web3.eth.sign

使用指定帐户签名要发送的数据,帐户需要处于解锁状态。

调用:

web3.eth.sign(address, dataToSign, [, callback])

参数:

  • address: String – 签名使用的地址
  • dataToSign: String – 要签名的数据
  • callback: Function -(可选)回调函数,用于支持异步的方式执行7。

返回值:

  • String – 签名后的数据。

返回的值对应的是ECDSA(Elliptic Curve Digital Signature Algorithm)签名后的字符串。

r = signature[0:64]
s = signature[64:128]
v = signature[128:130]

需要注意的是,如果你使用ecrecover,这里的v值是00或01,所以如果你想使用他们,你需要把这里的v值转成整数,再加上27。最终你要用的值将是27或2813。

示例:

var result = web3.eth.sign("0x135a7de83802408321b74c322f8558db1679ac20",
    "0x9dd2c369a187b4e6b9c402f030e50743e619301ea62aa4c0737d4ef7e10a3d49"); // second argument is web3.sha3("xyz")
console.log(result); // "0x30755ed65396facf86c53e6217c52b4daebe72aa4941d89635409de4c9c7f9466d4e9aaec7977f05e923889b33c0d0dd27d7226b6e6f56ce737465c5cfd04be400"

 

发表评论

后才能评论