对于这个问题,我试过几个2-4岁的答案,但现在都没有用。我的问题很简单:如何从一个签名的事务对象中获取发送方的公钥,比如从Quicknode或Alchemy响应中获得的公钥({nonce,gasLimit,r,s,v,data,value.})。希望有了用于javascript的醚库?
我尝试过使用\x19Ethereum Signed Message:\n前缀,但不确定这个前缀是否仍然适用(2022年8月)。
我要疯了。任何帮助都会很感激的。
发布于 2022-08-22 11:03:43
对于这个任务,我建议参考Ether.js文档https://docs.ethers.io/v4/api-utils.html#elliptic-curve
您要寻找的函数是recoverPublicKey (摘要、签名),它使用ecrecover为您提供用于签署事务的公钥。摘要将是从Quicknode/Alchemy获得的事务签名散列。签名将是r+S+v值,您从相同的。
编辑:摘要将提供在签署的交易数据。
https://ethereum.stackexchange.com/questions/134110
复制相似问题