Necesito convertir mi clave eth en una clave geth.
eth puso la clave %appdata%\roaming\Web3\keys
y la veo como un .json
archivo. Si muevo eso al %appdata%\roaming\Ethereum\keystore
directorio, geth todavía no lo reconoce. Si trato de hacer geth account import keyname.json
, eso falla con:
Fatal: Could not create the account: encoding/hex: invalid byte: U+007B '{'"
También intenté alterar el archivo .json para que se pareciera más a la clave geth agregando "dirección":"[dirección]" sin éxito.
Trasfondo: Creé una cuenta usando eth, moví algo de éter (verificado usando etherchain.org), pero mi instalación de eth siempre estaba rota, no se conectaba con compañeros, etc., así que quiero mover la cuenta a geth. La cuenta se generó a partir de eth 0.9.41. Todavía no he intentado reinstalar eth en caso de que haya algo que deba conservarse para continuar. Seguridad primero...
Es posible pero no recomendado y, por lo tanto, una característica no documentada.
Obtenga el UUID de la cuenta:
~ $ ethkey listbare
8766c082-432f-5548-608c-6eec600757f9
Mostrar la clave privada:
~ $ ethkey inspectbare --show-me-the-secret 8766c082-432f-5548-608c-6eec600757f9
Enter passphrase for key 8766c082-432f-5548-608c-6eec600757f9:
Key 8766c082-432f-5548-608c-6eec600757f9:
ICAP: XE871TJEHQTCYKGJ2ETMECEX4AVZLMG4MZ
Raw hex: 006ed403807ae87b9f958f25c33862927ba1b57b
Secret: 7b275146cbb8da08xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxe10da42934fa2f01
Importe la clave simple en geth:
~ $ echo 7b275146cbb8da08xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxe10da42934fa2f01 > delete-me.prv
~ $ geth account import delete-me.prv
Your new account is locked with a password. Please give a password. Do not forget this password.
Passphrase:
Repeat passphrase:
Address: {006ed403807ae87b9f958f25c33862927ba1b57b}
No olvide eliminar la clave simple del disco nuevamente:
~ $ rm -f delete-me.prv
Después de investigar un poco, encontré un comentario de Stephan Tual , que afirma que está diseñado para evitar que extraigas las claves privadas (sin cifrar), y nunca las expone al usuario. La idea es que esto elimine el riesgo de dejar las claves en una memoria USB, por ejemplo.
Lo mejor sería generar nuevas claves en geth y simplemente transferir los fondos a la nueva cuenta.
La manera de hacer esto es arriesgada, pero es factible. Implica mostrar su clave privada en la pantalla, lo que generalmente es MUY malo.
ethkey listbare
462352b14-0121-0454-5a4f-15f791233f1a
Así que digamos que este es su archivo de clave json. Entonces harías:
./ethkey inspectbare --show-me-the-secret 462352b14-0121-0454-5a4f-15f791233f1a
Y ethkey
debería mostrarte la clave privada.
ethkey
? El comando no está disponible en mi geth console
.Los archivos json que usa eth no son los mismos que los archivos de almacén de claves (json) que usa geth. Para cambiar con éxito entre clientes, debe volver a importar las cuentas a través de la clave privada sin cifrar.
1. Haz una copia de seguridad... por si acaso
El primer paso es hacer una copia de seguridad de sus archivos eth JSON, en caso de que algo salga mal. Estos ya deberían estar respaldados externamente, como en una unidad USB, pero si no lo están, tómese el tiempo para hacerlo ahora.
2. Obtenga su clave privada sin cifrar para sus cuentas eth.
Consulte las respuestas de StackExchange que se encuentran en este hilo.
3. Importe estas nuevas claves privadas sin cifrar a geth.
Utilice las instrucciones que se encuentran en este hilo.
4. Confirme que sus cuentas se hayan transferido con éxito a la nueva cuenta geth
$ geth account list
5. Haga una copia de seguridad de sus nuevos archivos de almacén de claves geth.
Personalmente, mantendría la copia de seguridad antigua de eth... por si acaso. Tíralo en una carpeta "old_eth_backup" y llámalo un día. Los archivos del almacén de claves geth se encuentran en las siguientes ubicaciones. Haga una copia de seguridad de estos archivos.
Mac: ~/Library/Ethereum/keystore
Linux: ~/.ethereum/keystore
Windows: %APPDATA%/Ethereum/keystore
6. Elimine las claves privadas no cifradas de donde las haya guardado.
Ahora que hemos realizado correctamente la copia de seguridad de los archivos del almacén de claves geth, que están cifrados, es hora de deshacerse de las claves privadas no cifradas. ¡Hurra!
Lefteris
q9f
Pablo