¿Puedo consultar el saldo de wallet.dat sin descargar la cadena de bloques?

Tengo bitcoin asociado con una billetera que ahora estoy moviendo de un servidor a un almacenamiento externo para hacer una copia de seguridad. Hasta donde yo sé, todo lo que tengo que hacer es copiar el archivo wallet.dat en un almacenamiento externo y estoy bien (dado que no haré ninguna transacción en el futuro previsible).

Mi pregunta es: una vez que muevo el archivo wallet.dat, ¿cómo compruebo, sin descargar la cadena de bloques, el saldo asociado para asegurarme de que todo está bien?

Respuestas (2)

Creo que su pregunta tiene un concepto erróneo subyacente. La billetera solo contiene bitcoins en un sentido abstracto: In realitasla billetera solo almacena las claves privadas que le permiten gastar el saldo de bitcoin asociado con sus direcciones. Piénselo de esta manera: cuando mira en su billetera, solo ve una serie de pequeñas cajas. Sabes que todas estas cajas son tuyas, pero desde el exterior todas las cajas se ven iguales, independientemente de lo que contengan. Solo puedes saber cuánto tienes en estas cajas, abriendo cada una de ellas y contando su contenido. Este paso de "mirar dentro de las cajas" ocurre al buscar los saldos de sus direcciones en el libro mayor público (la cadena de bloques). El wallet.dat puede contener el saldo que se contó por última vez cuando se comparó con la cadena de bloques, pero solo se puede actualizar al estado actual cuando se vuelve a contar el contenido de las cajitas.

Entonces, sin descargar la cadena de bloques y hacer que su software calcule su saldo actual, solo puede verificar "si todo está bien" buscando direcciones específicas. Si recibió sus bitcoins en una transacción, el saldo se asocia solo con una dirección y esta dirección podría anotarse o memorizarse fácilmente por separado de la billetera. Luego, puede proceder a buscar el saldo en un sitio web como, por ejemplo, http://blockchain.info . Esto se puede hacer de forma segura, ya que la dirección por sí sola no permite que nadie gaste los bitcoins.

Entonces, resumiendo: solo desde wallet.dat no puede obtener una actualización del saldo sin adquirir información adicional. Sin embargo, puede verificar el saldo de las direcciones directamente utilizando la información disponible públicamente.

¿Puedo obtener estas direcciones en un wallet.datarchivo?
Creo que sí, a menos que esté encriptado y no sepas la frase de contraseña.
He reformulado la pregunta para corregir el error "la billetera no contiene los bitcoins". Sin embargo, la pregunta sigue sin respuesta: ¿cómo averiguo mi saldo con solo el archivo wallet.dat (sin cadena de bloques)?
Se necesita la cadena de bloques, ya que sus monedas están en la cadena de bloques, no en una billetera. Puede usar el sitio web blockchain.info ya mencionado para verificar el saldo de su dirección, sin jugar con blockchain a su lado.
Actualicé mi respuesta para reflejar su pregunta actualizada justo antes de su comentario. :)
Parece haber una contradicción. Primero dijo que es posible obtener las direcciones en un wallet.datarchivo, pero luego actualizó su respuesta para decir que la única forma de obtener estas direcciones es escribirlas a priori. Saber cuál es verdadero sería útil para que podamos obtener una respuesta final sobre si el problema original se puede resolver o no.
Mi impresión fue que no quería enganchar su billetera después de recibir el dinero para mantenerlo seguro. Bueno, antes de no acceder a su billetera, tendría que obtener la dirección de su billetera que está asociada con el saldo que desea verificar más tarde y luego buscar esa dirección cuando lo desee. Si no le importa acceder a su billetera más tarde, puede obtener las direcciones más tarde. Sin embargo, la billetera por sí sola no puede decirle los saldos asociados con sus llaves, al igual que la llave de su automóvil no puede decirle si su automóvil todavía está estacionado en el camino mientras usted está adentro.

Con respecto a su pregunta de seguimiento sobre cómo enumerar direcciones. Podrías intentar algo como

bitcoind listreceivedbyaddress 0 true

aunque no tengo idea si ese comando funciona sin que esté presente la cadena de bloques completa. Si no hace lo que quieres, también hay uno llamado listaccounts.