如何将以太坊地址转换为公钥

时间:2019-02-21 11:54:45

标签: python ethereum public-key

我需要像这样转换以太坊地址

0xB34080739D5B656D76089f9f21b374BA5dafA373

像这样的公钥

e2d3a3a43e71eb541e12504cee22ed74024969b46b9e68ea7f9e5384fe96fc04

我这样得到地址

from web3 import Web3

w3 = Web3(Web3.HTTPProvider('https://sokol.poa.network'))

addr = w3.toHex(w3.sha3(text=public_key)[12:])

也许有一个图书馆吗?帮助请

1 个答案:

答案 0 :(得分:0)

这不可能。

以太坊地址(对于外部所有者帐户,该帐户是链接到私钥的帐户)是keccak256(public_key)的最后20个字节。由于keccak256是哈希函数,因此是单向函数,因此无法从地址中恢复公钥。