El objetivo principal es tener la confirmación de "pago realizado" lo más rápido posible, en unos segundos.
La primera opción es implementarlo yo mismo. Ahora tengo la siguiente implementación basada en la consulta de Bitoin-qt desde la API de .NET: Recibo todos los ID de transacción nuevos usando getrawmempool y luego itero a través de cada uno de ellos para obtener detalles usando getrawtransaction para encontrar transacciones con direcciones que quiero monitorear.
Hace 2 años solía funcionar bien, pero ahora veo que funciona cada vez más lento. Entonces, creo que bitcoin-qt + .NET API no es el enfoque que puede aumentar el tiempo de monitoreo.
Otra opción es usar servicios de terceros, como blockchain.info, que se pueden usar en mi aplicación (comercial).
Puede usar la importaddress
funcionalidad para hacer que la billetera Bitcoin Core (bitcoind o bitcoin-qt) trate ciertas direcciones como propias, aunque no tenga la clave para ellas.
Esto hará que aparezcan en las salidas de RPC como listtransactions
, getreceivedbyaddress
y . También activará notificaciones a través del mecanismo ZMQ agregado recientemente.listunspent
getbalance
-walletnotify
Utilizo la API block.io para detectar transacciones entrantes de confirmación cero en Liberty Music Store . block.io puede monitorear transacciones para su propia billetera o puede suscribirse a direcciones de bitcoin arbitrarias.
La compensación es entre confirmaciones fáciles y rápidas: block.io tiene webhooks robustos, nodos de bitcoin distribuidos y una API fácil que permite detectar transacciones más rápido que ejecutar un solo nodo usted mismo. Un solo nodo es más seguro desde el punto de vista de que no puede confiar sus transacciones a terceros. Además, ejecutar un nodo completo requiere muchos recursos, ya que los datos de blockchain son varios gigabytes y también mempool.
Creo que usar Bitcoin Core importaddress
puede ser una buena solución.
Sin embargo, si no desea sincronizar toda la cadena de bloques, puede usar Electrum y su interfaz JSONRPC: http://docs.electrum.org/en/latest/merchant.html#jsonrpc-interface
Janes
chisporrotea