给定使用pythereum.transaction构造的未签名事务和通过使用私钥对事务的散列签名创建的签名,如何从签名中提取v、r、S值,以便将它们添加到未签名的事务中以进行签名?
发布于 2017-09-05 17:57:09
r、s和v值是签名哈希值所创建的签名的不同切片(按顺序排列)。参考:https://github.com/ethereumjs/testrpc/pull/19
每个切片的范围在上面链接的线程的第一条消息中。另外,如果v值为0或1,请注意向v值中添加27的部分。原因是消息中给出了链接。
发布于 2017-09-15 16:45:59
如果您可以使用pyethereum来使用私钥签名,那么Transaction对象已经为您解析出了r、s和v。它们可以作为事务对象上同名的属性使用。
在代码 for transaction.sign(key)中,它在这里设置变量:
self.v, self.r, self.s = ecsign(rawhash, key)(但是您的事务对象已经被签名了,所以您不再需要做更多的工作,而且可能不再需要r、s和v了。)
https://ethereum.stackexchange.com/questions/25869
复制相似问题