Go-Ethereum
如何在 Python 中使用 ecRecover 恢復公鑰?
我可以使用 ecRecover 來驗證 Javascript 中的簽名者,例如:
const ecRecoverAddr = await window.ethereum.request({ method: "personal_ecRecover", params: [message, signedMessage], });
但是,當我嘗試以下 Python 程式碼時:
from web3 import Web3, HTTPProvider def verify(request, message, signedMessage): response = web3.geth.personal.ecRecover(message, signature) return HttpResponse(response, content_type='text/json')
我收到此錯誤:
name 'web3' is not defined
這是否意味著我需要為 web3 實例化某種提供程序?應該做什麼?
有沒有辦法在不使用提供者的情況下使用 ecRecover 檢索公鑰?
它不應該只是一種無需任何連接即可執行的方法嗎?
謝謝!
您將需要實例化 web3 對象,並且不能在此處引用包。
from web3 import Web3, HTTPProvider w3 = Web3(Web3.HTTPProvider(<infura or alchemy URL>)) def verify(request, message, signedMessage): response = w3.geth.personal.ecRecover(message, signature) return HttpResponse(response, content_type='text/json')