Cómo almacenar datos de blockchain

Si quisiera imprimir los datos de la cadena de bloques en una base de datos, con el fin de realizar consultas complejas o simplemente diferentes a las basadas en RPC, ¿cómo lo haría? ¿Tendría que optar por una base de datos relacional o una NoSQL? Eventualmente, la base de datos se llenaría con cientos de millones de registros, ¿qué bases de datos funcionarían bien (responderían rápidamente) a estos números gigantescos?

¿alguna vez empezaste esto?

Respuestas (3)

Si te conformas con una base de datos relacional, puedes probar BitcoinDatabaseGenerator.
https://github.com/ladimolnar/BitcoinDatabaseGenerator/releases
Fuentes y wiki: https://github.com/ladimolnar/BitcoinDatabaseGenerator

Es posible que le tome algunas horas (a mí me toma 90 minutos, pero eso variará según su hardware y configuración) transferir los archivos de la cadena de bloques a la base de datos.

Si lo hace, eche un vistazo a las vistas que ya están definidas en la base de datos, algunas de ellas pueden serle útiles.

¿BitcoinDatabaseGenerator también funciona con Bitcoin Cash?

Esto probablemente depende del tipo de consultas que desee realizar y de los datos que desee recuperar de la base de datos.

Personalmente, he tenido buenas experiencias con el uso de una base de datos de gráficos para atravesar la cadena de bloques (p. ej., Neo4j). Sin embargo, el modelo de gráfico que elija influirá en la eficiencia de ciertos tipos de consultas.

Las consultas estarán orientadas a transacciones y direcciones, en su mayoría orientadas a direcciones, es decir, obtener todas las transacciones con un pago mayor que X para esta dirección durante los últimos 6 meses. ¿Crees que debería optar por una base de datos gráfica?
El beneficio de las bases de datos de gráficos es que puede atravesar de manera eficiente el gráfico de transacciones, básicamente para seguir los bitcoins de una transacción a otra. En su caso, una base de datos relacional tradicional podría ser más eficiente.
¿Cómo cargaste los datos? (¿Tienes código para hacerlo?)

Encontré que blockchain tiene un tamaño razonablemente manejable incluso si está resumiendo transacciones individuales en cada bloque en todos los bloques

si desea intentar jugar rápidamente con blockchain, descargue el volcado de copia de seguridad de postgreSQL desde aquí http://dumps.webbtc.com/bitcoin/ - incluso si postgeSQL no es lo que está buscando, podrá recuperar rápidamente modele estos datos con SQL simple y cárguelos de forma masiva en neo4j o cualquier otra base de datos en minutos

Lamentablemente , dumps.webbtc.com/bitcoin ya no se actualiza.