Python

從簽名中提取 v、r 和 s 用於 pyethereum.transaction 庫

  • September 15, 2017

給定一個使用 pythereum.transaction 建構的未簽名交易和一個通過使用私鑰對交易的雜湊進行簽名創建的簽名,我如何從簽名中提取 v、r、s 值,以便將它們添加到未簽名的交易中以簽字?

r和值是通過對雜湊值進行簽名sv創建的簽名的不同切片(按該順序)。參考:https ://github.com/ethereumjs/testrpc/pull/19

每個切片的範圍在上述連結的執行緒的第一條消息中。另外,請注意關於將 27 添加到vif的值v是 0 或 1 的部分。其原因是該消息中給出了連結的問題。

如果您可以使用 pyethereum 使用私鑰進行簽名,那麼Transaction對像已經解析出r,sv。它們作為事務對像上的同名屬性提供。

的程式碼transaction.sign(key),它在此處設置變數:

self.v, self.r, self.s = ecsign(rawhash, key)

(但是你的交易對像已經被簽名了,所以你不需要做更多的工作,並且可能不再需要r,sv了。)

引用自:https://ethereum.stackexchange.com/questions/25869