Ich möchte eine Website erstellen, die die Erstellung einer neuen Einwegadresse beinhaltet, an die ein Benutzer Bitcoins senden würde. Ich möchte programmgesteuert wissen, wann der Benutzer Bitcoins an die Adresse gesendet hat, damit die Website eine „Danke“-Notiz posten kann (oder was auch immer sonst tun). Was ist der beste Weg, dies zu tun?
Der Ablauf wäre:
Ich nehme an, ich könnte die fragliche Adresse alle paar Minuten abfragen, aber das ist problematisch, da der Benutzer die Website nach Schritt 1 verlassen kann (dh niemals Bitcoins senden), sodass die Website möglicherweise für immer abfragt.
Ich verwende jetzt den offiziellen Bitcoin-Client, bin aber offen für etwas anderes.
Ich verstehe, dass Blockchain.info eine API bereitstellt, um Push-Benachrichtigungen zu einer bestimmten Adressaktivität zu erhalten, aber ich würde mich lieber nicht auf einen Drittanbieterdienst verlassen.
Beginnend mit v0.6.0 des Bitcoin.org- Clients war -BlockNotify. Beginnend mit v0.8.2 des Bitcoin.org-Clients war -WalletNotify, das Benachrichtigungen auf Transaktionsebene bereitstellt.
listeninceblock ist bequemer - es kann inkrementell verwendet werden.
listsinceblock
. Ich möchte fragen, ob bei der Berechnung der Einzahlungssumme für jede eindeutige Benutzeradresse nur Transaktionen der Kategorie receive
und berücksichtigt und alle anderen Transaktionskategorien wie , und generate
ignoriert werden ?
orphan
immature
send
Möglicherweise möchten Sie eine amortisierte Abfrage durchführen: Verwenden Sie diese Option, listtransactions
um die letzten Transaktionen über alle Konten abzurufen. Anstatt also für jedes Konto eine Umfrage zu erstellen, tun Sie dies für alle gleichzeitig. Dies sollte in Kombination mit einem Timeout zur Verlangsamung der Abfrage, wenn keine Zahlung eingeht, gut funktionieren.
Jay West
Tod und Steuern