¿Cómo puedo importar una clave privada en un nodo podado?

Estoy tratando de restaurar mi billetera Bitcoin Core, pero solo tengo la clave privada y la frase de contraseña, no tengo un wallet.datarchivo.

Traté de usar

importprivkey privatekey xxxxxxxxxxxxxxxxxxxx

que me dio el error Rescan is disabled when blocks are pruned (code -4).

¿Cómo puedo importar la clave?

Respuestas (3)

En general, la billetera enviada con Bitcoin Core solo guarda copias de cualquier transacción que involucre directamente a la billetera. Cuando importa una clave, su nodo escanea toda la cadena de bloques para ver si alguna transacción involucró esa clave.

Un nodo podado ha procesado toda la cadena de bloques, pero solo conserva la parte final de los datos. Esto significa que cuando importa una clave privada en un nodo eliminado, el nodo eliminado no tiene los datos para verificar las transacciones relevantes. Por eso es incompatible con el rescanrequisito. Para encontrar las transacciones relacionadas con la clave, deberá repetir la sincronización inicial de la cadena de bloques.

Como Prayank ya dijo en su respuesta, podría usar

importprivkey "<key>" "" false

para importar una o varias claves privadas. El "falso" en el tercer argumento omite el reexamen habitual desencadenado por la importación. Esto debería evitar el error que está viendo.

Una vez que haya importado todas las claves relevantes, reinicie su nodo con la -reindexopción de línea de comando para comenzar de nuevo con la sincronización inicial. Su billetera buscará transacciones relevantes durante la sincronización y redescubrirá los fondos y el historial de transacciones de la billetera.

Si desea evitar realizar otra sincronización con su nodo, puede importar la clave en un cliente ligero como Electrum como lo sugiere RedGrittyBrick en otra respuesta.

¿Debería funcionar "getbalance" antes de que se complete la reindexación completa? Por ejemplo, si mi clave privada importada recibió Bitcoin en 2010 y Bitcoin Core terminó de reindexarse ​​hasta 2011, ¿gebalance debería mostrar el saldo a partir de 2011? Esto parece razonable, pero no es el comportamiento que veo y me gustaría evitar una reindexación larga para descubrir que la importación no funcionó como se esperaba.
Hola Rich, pregunté aquí por ti: bitcoin.stackexchange.com/q/108258/5406
@RichRemer Ah, me doy cuenta de que eres un usuario experimentado de otro sitio. Estás haciendo una buena pregunta, por favor crea un nuevo tema. Puede usar el texto de su comentario palabra por palabra para la pregunta. He eliminado la pregunta que creé, asumiendo que publicará una.

Creo que tus opciones son

  • Reinicie su nodo Bitcore-core con el espacio en disco adecuado y el modo de poda deshabilitado , espere a que se sincronice de nuevo y luego use importprivkeyo
  • Importe o barra su clave privada en una billetera diferente, como Electrum. Opcionalmente, transfiera el dinero a su billetera Bitcoin-core. Esto podría ser más rápido, pero no obtendrá el historial completo de transacciones en Bitcoin-core
Gracias por la respuesta, reinicié pero no estoy seguro de cómo deshabilitar la poda.
Compruebe el archivo de configuración

Puede usar el siguiente formato para importprivkey :

importprivkey "mykey" "" false