Akzeptieren Sie Bitcoin-Zahlungen für Bestellungen ohne Software von Drittanbietern

Ich habe nach einer Open-Source-Alternative zur Receive Payments API von blockchain.info ( https://blockchain.info/api/api_receive ) gesucht. Ich möchte Bitcoin auf meinem eigenen Server ausführen und Zahlungen in meiner eigenen Datenbank abwickeln lassen.

Gibt es ein Projekt, das mit der aktuellen Version von Bitcoin auf dem neuesten Stand gehalten wird?

Die Suche hier, github und Google hat mir keine Ergebnisse zurückgegeben.

Was ist Ihre bevorzugte Programmiersprache? Sie können einen Blick auf BitcoinLib werfen , die aktuell und vollständig kompatibel mit bitcoindder blockchain.infoRPC-API von und ist. Davids Antwort gibt Ihnen eine Vorstellung davon, wie Sie beginnen können.

Antworten (3)

Ich glaube nicht, dass Sie eine Bibliothek eines Drittanbieters benötigen, wenn Sie über ein angemessenes Maß an Programmiererfahrung verfügen. (Wenn Sie dies nicht tun, sollten Sie wahrscheinlich nicht direkt mit Geld umgehen.)

Hier sind die Schritte von der Seite Blockchain.info (BC.i), die für Bitcoin Core neu erstellt wurden.

Holen Sie sich eine Empfangsadresse

Verwenden Sie den getnewaddressRPC. Das JSON-RPC-Ergebnis ist ein String mit der Adresse.

Erhalten Sie einen Rückruf, wenn eine Adresse eine Zahlung erhält

Verwenden Sie den -walletnotifyBitcoin-Befehlszeilenschalter, um jedes Mal ein Programm auszuführen, wenn eine Wallet-Transaktion empfangen, gesendet oder bestätigt wird. Ihr Programm kann die folgenden Befehle verwenden:

  • gettransactionum Details über die Transaktion zu erhalten, einschließlich allem, was BC.i Ihnen gesendet hätte, und mehr. (Siehe Link für ein Beispiel.) Wenn Bitcoin Core den Befehl walletnotify ausführt, kann er ein Argument mit der TXID übergeben, sodass Sie ihn ausführen würdengettransaction <txid>
  • So etwas wie curldas Senden eines HTTP GET an Ihre Rückruf-URL mit allen erforderlichen Details

Das ist es. Solange Sie ein Skript schreiben können, das JSON analysieren kann, können Sie alles, was BC.i tut, mit nur wenigen Codezeilen erledigen. Das ist wahrscheinlich auch der Grund, warum Sie auf GitHub keinen Code sehen: Es ist zu einfach, daraus ein Projekt zu machen.

Bevor Sie beginnen, empfehle ich dringend, die Seite zum richtigen Umgang mit Geld im Bitcoin-Wiki zu lesen , um zu lernen, wie man mit hochpräzisen Bitcoin-Werten umgeht. Wenn dies Ihr erstes Programm zum Umgang mit Geld ist, denken Sie bitte auch an die hohen Einsätze, die mit dem Festhalten an Geld verbunden sind. Hacker lieben es, Bitcoins zu stehlen.

Bibliotheken dienen vielen Zwecken, und es gibt gute Gründe, sie zu verwenden, anstatt alles von Grund auf neu zu erstellen. Ich suche etwas, das sich seit mindestens einem Jahr bewährt hat. Ich könnte es selbst bauen, aber ich würde mein nächstes Projekt lieber mit Code beginnen, der mehr als 0 Tage alt ist und mehr als 0 Mal getestet wurde. Wenn es stimmt, dass dies nicht existiert und jeder Dienste von Drittanbietern (blockchain.info/bitpay/coinbase) für die Abwicklung von Händlern nutzt, was bringt es dann überhaupt, Bitcoin überhaupt zu verwenden?
David Harding hat Ihnen nicht gesagt, dass Sie alles von Grund auf neu erstellen sollen, er hat Ihnen gesagt, wie Sie Ihre App mit ein paar Zeilen Code in Bitcoin integrieren können. Es klingt für mich ziemlich vernünftig, außer dass Sie eine hierarchische deterministische Brieftasche verwenden sollten, damit Sie immer nur ein Backup benötigen.

Das Mycelium Gear ist wahrscheinlich der praktischste Weg. Obwohl es sich technisch gesehen um eine Drittpartei handelt, wird das Geld nicht durch sie geleitet, und somit kein KYC/AML, keine Zensur und keine Provision. Mycelium Gear benachrichtigt Sie einfach über die eingehenden Zahlungen basierend auf Ihrem HD-Wallet xpubkey.

Alternativ können Sie die Open-Source-Software selbst einrichten.

Es ist unwahrscheinlich, dass das OP immer noch auf die Antwort wartet, aber die Frage bleibt gültig und sechs Jahre später hat die Community tatsächlich einige gute Antworten.

Open Source, selbst gehostete Zahlungsabwickler für Bitcoin: