Ich möchte einen Blockchain-Adressüberwachungsdienst für Bitcoin und andere Altcoins aufbauen. Was ist der beste Weg, um eine Reihe von Adressen auf eingehende/ausgehende Transaktionen zu überwachen?
Derzeit habe ich ein PHP-Skript geschrieben, das die Adresse alle 5 Minuten auf neue Aktivitäten überprüft und diese Daten dann in einer Datei speichert, und dann weitere 5 Minuten, um die Daten erneut abzurufen und die Datei zu vergleichen, um Unterschiede zu sehen und wenn ja, etwas zu tun .
Eine andere Methode, an die ich dachte, war, jeden Block abzurufen, während er abgebaut wird, und dann zu sehen, ob eine der Adressen mit dem übereinstimmt, was ich aufgelistet habe, und dann etwas zu tun .
Da Sie PHP erwähnt haben, können Sie einen Bitcoin-Knoten auf Ihrem Server installieren und dann EasyBitcoin-PHP verwenden: https://github.com/aceat64/EasyBitcoin-PHP
Verwenden Sie dann die Bitcoin-API: https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list
So listen Sie alle Transaktionen auf, die einem Konto zugeordnet sind:
echo $bitcoin->getreceivedbyaddress($btc_address);
"Gibt den Betrag zurück, der von bei Transaktionen mit mindestens [minconf] Bestätigungen erhalten wurde. Es behandelt korrekt den Fall, dass jemand in mehreren Transaktionen an die Adresse gesendet hat. Denken Sie daran, dass Adressen immer nur zum Empfangen von Transaktionen verwendet werden. Funktioniert nur für Adressen in In der lokalen Brieftasche zeigen externe Adressen immer 0 an."
Sie könnten dies also ausführen und mit Ihrer DB vergleichen, um zu sehen, ob eine neue Transaktion angezeigt wird, die noch nicht in der DB vorhanden ist.
--
Um den Saldo eines Kontos zu überwachen, können Sie einfach das Laden jeder Seite überprüfen (und Ihre Datenbank aktualisieren, wenn Sie möchten):
echo $bitcoin->getbalance($user['id'], 1);
Holen Sie sich eine Ihrer Benutzeradressen:
echo $bitcoin->getaccount($user['id']);
Um Transaktionen zu überprüfen:
echo $bitcoin->gettransaction($trans_id);
--
Sie könnten auch eine API verwenden: Wie bekomme ich die Liste der Transaktionen von Ein-/Ausgaben für eine Bitcoin-Adresse im JSON-Format?
--
Ich bin mir nicht 100% sicher, wonach Sie fragen, aber ich hoffe, dass das, was ich Ihnen zur Verfügung stelle, Ihnen hilft.
Das ist wirklich Zeitverschwendung.
Als Transaktionsbuch werden Bitcoin und alle anderen Altcoins verwendet, die die Blockchain-Technologie verwenden. Holen/installieren Sie einfach Ihr Krypto-Ledger, aktualisieren Sie Ihr Ledger Ihrer Bitcoin (Altcoin).
Wenn Sie über bestimmte Transaktionen im Zusammenhang mit der Adresse Bescheid wissen müssen, verwenden Sie einfach die vorgefertigten Tools, um das Hauptbuch zu scannen.
echo $bitcoin->gettransaction($trans_id);
nur wie oben dargestellt.
Es ist nicht erforderlich, jede Transaktion in der Datenbank zu protokollieren, da sie bereits im Ledger protokolliert ist. Wenn Sie also einige Adressen überwachen möchten, erstellen Sie einfach einen Cronjob, um jede Transaktion zu überwachen und eine Warnung an den Benutzer zu senden.
Patoshi パトシ