Erhalten Sie eine JavaScript-Benachrichtigung, wenn eine Bitcoin-Transaktion an einer bestimmten Adresse ankommt

Ich möchte eine sehr einfache Adressüberwachungsfunktion auf einer Website implementieren, an der ich arbeite. Ich würde gerne einfach sagen können: „Hören Sie auf diese Adresse im Testnetz, damit Geld hereinkommt“, und den HTML-Code auf der Seite aktualisieren, wenn BTC hereinkommt. Mir ist klar, dass Blockchain.info genau dafür einen Websocket bereitstellt, aber bietet es nicht für die Verwendung auf testnet3.

Ich bin mir sicher, dass ich etwas Offensichtliches übersehe. Jede Hilfe wird sehr geschätzt.

Informationen über SoChain hinzugefügt - vielleicht möchten Sie es sich ansehen.

Antworten (1)

Normalerweise tun Sie dies auf dem Wallet-Service, den Sie verwenden. Sie stellen Server-zu-Server-Benachrichtigungsrückrufe bereit, wenn die Adresse Transaktionen empfängt. Dann parsen Sie diese Transaktion und lassen Ihren On-Server JavaScript-Clients benachrichtigen.

BEARBEITEN : SoChain bietet keine Authentifizierung, WebSockets, API, um Bitcoin-Adressen in Echtzeit zu überwachen. Sie können dies direkt auf Client-seitigem JavaScript verwenden:

https://chain.so/api#realtime-balance-updates

Ich weiß nicht, ob es reine clientseitige JavaScript-APIs mit Benachrichtigungsfunktion gibt - Sie müssen immer Webhooks zu einem Server einrichten oder direkt mit Bitcoin verbunden sein.

Auch gibt es die Frage der Bestätigungsebene - wenn Sie die Transaktion als erhalten betrachten, wie viele Bestätigungen Sie dafür verlangen. In der Regel erhalten Sie für jede neue Bestätigung mehrere Benachrichtigungen.

Ich habe dies in meinem Open-Source-Projekt Liberty Music Store mit blockchain.info getan.

Sehen Sie sich zur Inspiration den entsprechenden blockchain.info-Webhook-Code an, der diese Informationen dann über das Redis-Pub-Sub-Listener-Muster an JavaScript weiterleitet (obwohl in diesem Fall eine HTTP-Long-Abfrage anstelle von WebSockets für die Kompatibilität mit Android 2.3 verwendet wird):

https://github.com/miohtama/LibertyMusicStore/blob/master/tatianastore/blockchain.py#L110

https://github.com/miohtama/LibertyMusicStore/blob/master/tatianastore/static/main.js#L102

https://github.com/miohtama/LibertyMusicStore/blob/master/tatianastore/signals.py#L28

https://github.com/miohtama/LibertyMusicStore/blob/master/tatianastore/storefront.py#L253