Я создал учетную запись Ethereum, используя web3.py
в python 3.6:
web3.personal.newAccount('password')
Как получить доступ к закрытому ключу для этой учетной записи?
Когда вы создаете учетную запись на своем узле (что w3.personal.newAccount()
), узел содержит закрытый ключ; прямой доступ к нему не предназначен.
Если у вас должен быть локальный доступ к закрытому ключу, вы можете:
w3.eth.account.create(extra_entropy)
Если узел является geth, извлечение ключа выглядит так:
with open('~/.ethereum/keystore/UTC--...4909639D2D17A3F753ce7d93fa0b9aB12E') as keyfile:
encrypted_key = keyfile.read()
private_key = w3.eth.account.decrypt(encrypted_key, 'correcthorsebatterystaple')
Совет безопасности. Не храните ключ или пароль в любом месте, особенно в общий исходный файл
web3.eth.account.create(extra_entropy)
, он не создает новую учетную запись в моем узлеw3.eth.account.encrypt()
стиле geth, который может импортировать большинство узлов, с помощьюw3.eth.account.encrypt()
. См. Eth-account.readthedocs.io/en/latest/… для параметров и примера.