Quiero crear un sitio web que involucre la creación de una nueva dirección de un solo uso a la que un usuario enviaría bitcoins. Me gustaría saber mediante programación cuándo el usuario ha enviado bitcoins a la dirección para que el sitio web pueda publicar una nota de "gracias" (o hacer cualquier otra cosa). ¿Cuál es la mejor manera de hacer esto?
El flujo sería:
Supongo que podría sondear la dirección en cuestión cada pocos minutos, pero esto es problemático porque el usuario puede abandonar el sitio web después del paso 1 (es decir, nunca enviar bitcoins), por lo que el sitio web podría terminar sondeando para siempre.
Estoy usando el cliente oficial de bitcoind ahora, pero estoy abierto a usar algo más.
Entiendo que Blockchain.info proporciona una API para recibir notificaciones automáticas sobre la actividad de una dirección determinada, pero prefiero no depender de un servicio de terceros.
Comenzando con v0.6.0 del cliente Bitcoin.org fue -BlockNotify. Comenzando con v0.8.2 del cliente Bitcoin.org fue -WalletNotify que proporciona notificación a nivel de transacción.
listsinceblock es más conveniente: se puede usar de forma incremental.
listsinceblock
. Me gustaría preguntar, al calcular la suma de los depósitos para cada dirección de usuario única, ¿se consideran las transacciones solo de categoría receive
y generate
se ignoran todas las demás categorías de transacciones como orphan
, immature
y send
?Es posible que desee realizar un sondeo amortizado: utilícelo listtransactions
para sondear las últimas transacciones de todas las cuentas. Entonces, en lugar de emitir una encuesta para cada cuenta, lo hace para todas al mismo tiempo. Esto, combinado con un tiempo de espera para ralentizar el sondeo si no se recibe ningún pago, debería funcionar bien.
jay oeste
Muerte e impuestos