Estoy tratando de comprender la estructura de la cadena de bloques subyacente almacenada en la implementación central (o más bien, solo los archivos BLK utilizados por un nodo completo). Mi pregunta es ; ¿La cadena de bloques almacena la estructura de árbol completa, es decir, todas las bifurcaciones que se encontraron? ¿O purga las entradas una vez que se resuelve una bifurcación?
Si tuviera que leer los archivos blk secuencialmente, ¿puedo suponer que cada bloque leído está ordenado correctamente y que no hay bifurcaciones presentes?
¡Gracias!
los archivos BLK no son una API. No deberías leer directamente esos archivos. Lo que debe hacer es solicitar los encabezados/bloques a través de la interfaz JSON RPC (o la interfaz REST).
Puede obtener el hash del bloque de génesis a través de:
bitcoin-cli getblockhash 0
Entonces puedes obtener un bloque (sin transacciones):
bitcoin-cli getblock <hash>
Luego obtenga el siguiente bloque mirando el nextblockhash
elemento en la respuesta JSON del bloque, etc.
Además, considere usar la interfaz REST. Allí puede obtener respuestas binarias que son mucho más rápidas (sin sobrecarga de codificación/descodificación JSON).
pieter wuille
bobo
Denis Leónov
pieter wuille