¿Cómo obtener saldo de decenas de miles de direcciones?

¿Cuál es la mejor manera de obtener el saldo de una gran cantidad de direcciones? Traté de usar API de diferentes proveedores, pero están limitando las solicitudes. ¿Hay alguna API que brinde un servicio premium sin limitar las solicitudes?

¿O tal vez debería ejecutar el nodo completo y usarlo? En caso afirmativo, ¿cómo estoy usando el nodo completo para obtener los saldos de las direcciones? Estoy usando Ruby on Rails.

Gracias.

Respuestas (2)

Creo que debería considerar que el uso de una API podría generar datos falsos y mal validados. El uso de una API significa que confía plenamente en el servicio de la API,... lo cual va en contra del modelo de no confianza de bitcoin.

Le recomiendo que ejecute un nodo completo (Bitcoin Core 0.13.2 durante el tiempo de redacción).

No hay índice de direcciones (hay un parche que puede compilar manualmente en Core).

La forma más sencilla con Bitcoin-Core 0.13.2 estándar es importar todas sus direcciones como solo para ver en una billetera.

importar direcciones

Use la llamada RPC importaddress <address> "" falsepara importar una dirección de solo vigilancia.

Se requiere el tercer argumento falsepara no volver a escanear la cadena de bloques para cada importación (puede tomar horas de servicio).

Una vez que haya importado todas las direcciones, detenga bitcoind/qt y reinícielo con el argumento de inicio -rescan.

La nueva exploración puede tardar un par de minutos/horas (dependiendo de su disco/RAM/CPU). Una vez hecho esto, puede llamar getreceivedbyaddress <addr>a cada dirección para obtener el saldo.

Esto da como resultado datos auténticos y autovalidados.

Nota: si está utilizando Bitcoin Core 0.14, considere importar varias direcciones conimportmulti

Hola, gracias por su respuesta, pero este método no es muy efectivo si la lista de direcciones cambia cada vez que se ejecuta, porque en cada ejecución necesito pasar por este proceso que puede llevar algún tiempo. Si estoy ejecutando un nodo completo, debería tener acceso a todos los datos en la cadena de bloques, ¿no? ¿No hay una forma conveniente de acceder a estos datos?
Entonces necesitas un índice de direcciones. Mire los parches Core existentes (hay una solicitud de extracción para Bitcoin Core) o intente usar las alternativas existentes (Bitpays Insight [basado en Bitcoin Core])
¡Gracias! Traté de buscar una solución para mi pregunta, pero no encontré ninguna. Creo que esta solución debería agregarse a la documentación/wiki oficial de Bitcoin Core.

¿Has probado la api blockonomics ? Sus planes gratuitos permiten 50 direcciones a la vez y uno de pago hasta 8000

Si desea ejecutar su propio nodo. Recomendaría ejecutar abe blockexplorer junto con su nodo. Se sabe que Core Wallet y otras billeteras SPV como electrum se vuelven lentas con una gran cantidad de direcciones