Creación de una aplicación web para cobrar pagos de Bitcoin. ¿Cómo debo monitorear las transacciones en el pago?

Estoy buscando crear una aplicación web similar a coffee.foldapp.com donde carguen una dirección de bitcoin y una vez que pague, mostrará automáticamente el producto de código digital. Parece que están usando 0-confirmación. Escuché que era arriesgado, pero ¿por qué lo hacen entonces?

Me gustaría hacer el mismo enfoque ya que mis artículos digitales no son muy caros y tienen la opción de confirmación cero.

¿Cuáles son algunas maneras de hacer esto? ¿El navegador del cliente tiene que hacer ping constantemente al servidor para obtener una actualización del estado del pago? ¿O el servidor lo empuja al navegador del cliente?

Estoy planeando hacer esto en PHP si es posible. ¿O puedo hacerlo sin PHP y acceder a las API de otros sitios como blockchain.info?

Respuestas (2)

Estoy buscando crear una aplicación web similar a coffee.foldapp.com donde carguen una dirección de bitcoin y una vez que pague, mostrará automáticamente el producto de código digital. Parece que están usando 0-confirmación. Escuché que era arriesgado, pero ¿por qué lo hacen entonces?

Es arriesgado ya que aceptas la transacción sin que esté en la cadena de bloques. Consulte la respuesta aceptada a esta pregunta para ver un ejemplo de doble gasto: como se menciona en los comentarios, todavía es difícil trabajar. Esta pregunta está relacionada. Los comerciantes lo hacen porque están dispuestos a aceptar el riesgo de transacciones de pequeño valor. Escuchará varios porcentajes sobre el factor de riesgo, pero generalmente es bajo. Algunos ejemplos aquí y aquí .

Me gustaría hacer el mismo enfoque ya que mis artículos digitales no son muy caros y tienen la opción de confirmación cero.

Súper caro es relativo.

¿Cuáles son algunas maneras de hacer esto? ¿El navegador del cliente tiene que hacer ping constantemente al servidor para obtener una actualización del estado del pago? ¿O el servidor lo empuja al navegador del cliente?

El servidor empujando al cliente es el camino a seguir desde una perspectiva de ingeniería.

Estoy planeando hacer esto en PHP si es posible. ¿O puedo hacerlo sin PHP y acceder a las API de otros sitios como blockchain.info?

Incluso si no usa su propio nodo (o los nodos de otras personas) directamente y desea usar la API de un sitio, deberá programarlo en algún idioma. Por ejemplo, el sitio blockchain.info tiene una biblioteca API para PHP.

Las confirmaciones cero son riesgosas y no se recomiendan. Mejor esperar una o dos confirmaciones

El navegador del cliente no necesita hacer ping constantemente al servidor. Puede usar la conexión websocket para la devolución de llamada en la transacción. Por ejemplo, consulte https://www.blockonomics.co/views/api.html#txnotify