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?
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.
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.
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
phill pafford