首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从签名中提取v、r和S,以便与pyethereum.transaction库一起使用

从签名中提取v、r和S,以便与pyethereum.transaction库一起使用
EN

Ethereum用户
提问于 2017-09-05 16:56:16
回答 2查看 717关注 0票数 1

给定使用pythereum.transaction构造的未签名事务和通过使用私钥对事务的散列签名创建的签名,如何从签名中提取v、r、S值,以便将它们添加到未签名的事务中以进行签名?

EN

回答 2

Ethereum用户

回答已采纳

发布于 2017-09-05 17:57:09

rsv值是签名哈希值所创建的签名的不同切片(按顺序排列)。参考:https://github.com/ethereumjs/testrpc/pull/19

每个切片的范围在上面链接的线程的第一条消息中。另外,如果v值为0或1,请注意向v值中添加27的部分。原因是消息中给出了链接。

票数 2
EN

Ethereum用户

发布于 2017-09-15 16:45:59

如果您可以使用pyethereum来使用私钥签名,那么Transaction对象已经为您解析出了rsv。它们可以作为事务对象上同名的属性使用。

代码 for transaction.sign(key)中,它在这里设置变量:

代码语言:javascript
复制
self.v, self.r, self.s = ecsign(rawhash, key)

(但是您的事务对象已经被签名了,所以您不再需要做更多的工作,而且可能不再需要rsv了。)

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/25869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档