¿Cómo obtengo datos de encabezado de bloque de Bitcoin con nonce?

¿Cómo obtengo datos de encabezado de bloque de Bitcoin con nonce?

Hay decenas de los llamados sitios web de exploración de blockchain, decenas más que ofrecen análisis de blockchain de Bitcoin en línea.

Pero todo lo que necesito son los datos históricos del encabezado de la cadena de bloques de Bitcoin solo para el estudio en modo fuera de línea.

En teoría, puedo configurar el analizador de cadena de bloques por mi cuenta, pero primero necesito descargar la cadena de bloques completa y configurar el analizador.

Dado que vivo en Internet inalámbrico 3G, no es factible descargar datos de 500 GB, por lo que preferiría una opción solo para comprar solo datos históricos de encabezado de cadena de bloques de Bitcoin, sin gastos generales, sin datos de transacciones.

Si conoce ese lugar o puede ofrecer dicha descarga, hágame saber sus términos.

Creo que bitcoin-core sincronizará todos los encabezados primero antes de sincronizar la cadena de bloques. ¿Quizás sería suficiente pausar/detener la sincronización después de ese punto?

Respuestas (1)

No hay necesidad de comprar ningún dato, y si alguien te ofrece venderte encabezados de bloque, entonces estás siendo estafado.

El protocolo de red de Bitcoin admite la transmisión de solo encabezados de bloque. Entonces, puede usar o crear un software que pueda hablar el protocolo de red de Bitcoin y descargar solo los encabezados de los bloques. El getheadersmensaje es lo que necesita para solicitar los encabezados de un nodo, además de las cosas normales del protocolo de red . Dado que los encabezados de bloque son solo 80 bytes, la descarga completa será 80*506612 = 40528960 bytes = 40.528960 MB.

En lugar de escribir un software de este tipo, también puede usar Electrum. Electrum es una billetera SPV, pero descarga todos los encabezados de bloque. Si crea una billetera Electrum y deja que se sincronice (se sincroniza muy rápido), encontrará un archivo en el directorio de datos de Electrum llamado blockchain_headers. Este archivo contiene todos los encabezados de bloque en formato bruto (como bytes). A continuación, puede analizarlo según el formato del encabezado del bloque .

Gracias Andrés por tu excelente respuesta. La descarga de 40 MB se ve mejor que la descarga de 500 GB. Acabo de descargar la billetera Electrum de electrum.org/#download e instalé otra con el instalador, pero no es compatible con Windows XP de 32 bits. ¿Cuál es el nombre exacto del archivo de encabezados de bloque en el directorio blockchain_headers Electrum? Tal vez haya una opción para descargar este archivo directamente de Internet.
Acabo de descargar blockchain_headers de headers.electrum.org/blockchain_headers . El tamaño de un archivo es de 36,4 MB frente a 40,528950 MB, no estoy seguro de si el archivo se actualizó por última vez.
El archivo que descargó probablemente esté desactualizado.
Gracias Andrés por tu mejor respuesta. Preferiría una solución basada en la billetera Electrum debido a los límites establecidos en getheaders: el mensaje getheaders es casi idéntico al mensaje getblocks, con una pequeña diferencia: la respuesta inv al mensaje getblocks no incluirá más de 500 hashes de encabezado de bloque; los encabezados de respuesta al mensaje getheaders incluirán hasta 2000 encabezados de bloque. Por cierto, ¿podría poner el archivo blockchain_headers para descargar?
Aquí está el archivo de mi Electrum. Depende del bloque 506732. drive.google.com/file/d/160fTtPS1eIv1QVH4RL785sMCCkt3Crbx/…
Gracias Andrés por tu excelente ayuda. Su respuesta y sus comentarios valen cada bitcoin extraído alguna vez. Mi primera descarga tiene una longitud de 477637 encabezados de bloque. El archivo blochchain_headers es excelente para el análisis debido a su formato claro registrado cada 80 bytes o 5 líneas en el editor hexadecimal (intentaré analizarlo con JS) hexed.it gracias una vez más. Verifiqué el archivo contra la lectura nonce de api.blockchair.com/bitcoin/blocks?q=id(3)