Solicitar blockchain para transacciones

Instalé bitcoin-qt, por lo que mantengo la cadena de bloques localmente. Tengo una lista con cadenas de hashes de transacción (es decir, f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6) y quiero solicitar información sobre esas transacciones (claves públicas de entrada/salida, valor, etc.).

  1. Sé que puedo hacerlo con blockchain.info api, pero el problema es que hay una gran cantidad de transacciones y el tiempo promedio de una sola transacción es de 0,3 segundos. (Entonces, para millones de transacciones debe haber días)
  2. También probé bitcointools pero este proyecto se está volviendo obsoleto con las versiones recientes de Bitcoin-Qt/bitcoind.

¿Alguna sugerencia para que todo el procedimiento sea más eficiente?

Respuestas (2)

Recomendaría Bitcoin-abe Es un proyecto de código abierto que analizará toda la cadena de bloques y esencialmente creará una base de datos con toda la información de transacciones que está buscando. vale la pena señalar que el proceso de configuración lleva varios días con el tamaño actual de la cadena de bloques, pero le permitirá consultar localmente cualquier transacción para obtener la información que está buscando.

No estoy seguro de qué debe hacer exactamente una vez que haya encontrado su información, ya que eso también puede ser un gran impulso en la herramienta que usa. Sin embargo, puede usar bitcoind api que está empaquetado con bitcoin-qt para obtener toda la información sobre una transacción usando este comando.

gettransaction <txid>

Le devolverá toda la información sobre esa transacción, usaría alguna otra herramienta construida encima de ella, como una API php o cualquiera que sea su idioma favorito. Aquí hay uno que hice para interactuar con él a través de PHP https://github.com/michaeljs1990/Bitcoin-PHP-API .

Puede encontrar más información sobre la API de bitcoind en https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_Calls_list

gettransaction es un RPC de billetera, que informa los efectos contables de una transacción que tiene en su billetera. Puede usar getrawtransaction, que funciona en transacciones de cadena de bloques arbitrarias, pero debe colocar txindex=1 en su bitcoin.conf y volver a indexar una vez para reconstruir la base de datos con el índice de transacciones habilitado.