In diesem Beitrag über Bitcoin Weiterleitung wird erklärt, wie Bitcoin automatisiert an eine andere Bitcoin Adresse weitergeleitet werden.
Wenn in unserem Shop etwas gegen Bitcoin verkaufen, werden diese Bitcoin Zahlungen auf der internen BTCPay Bitcoin Wallet gutgeschrieben. Von dieser Bitcoin Wallet sollen die Bitcoin automatisiert an unsere Bitcoin Wallet bei einer Bitcoin Börse weitergeleitet werden.
Dieser automatisierte Bitcoin Weiterleitung von der internen BTCPay Bitcoin Wallet an die Bitcoin Wallet zu der Bitcoin Börse wird hier beschrieben.
Der Ablauf
Wenn ein Kunde erfolgreich mit Bitcoin bezahlt, werden diese Bitcoin auf der internen BTCPay Wallet gutgeschrieben. Somit ist das BTCPay System in der Lage den Status der jeweiligen Zahlungen zu überwachen. Nachdem der Zahlungseingang erfolgreich abgeschlossen ist, sollen diese Bitcoin weitergeleitet werden. Möchte man die Bitcoin behalten, dann können die Bitcoin an die eigene Wallet weitergeleitet werden.
Möchte man statt Bitcoin lieber Euro oder eine andere Fiat Währung erhalten, so können die Bitcoin an eine Bitcoin Börse weitergeleitet werden, damit dort die eingenommenen Bitcoin in Euro umgewechselt werden können.
Die Weiterleitung erfolgt, sobald nur ein Satoshi auf der internen BTCPay Wallet liegt. Die Weiterleitung soll umgehend und automatisiert erfolgen.
Was Du benötigst
Für die Umsetzung des beschriebenen Ablaufs benötigst Du:
- interne BTCPay Bitcoin Wallet
- BTC Transmuter Zugang
Technische Umsetzung
Die Weiterleitung wird auf Basis von BTC Transmuter umgesetzt. Wir werden dafür einige External Services konfigurieren und einrichten. Diese External Services werden mit Trigger und Action Anweisungen miteinander kombiniert und werden als ein Recipe zusammengefasst.
Wir werden ein Recipe für unsere Anforderungen erstellen und beginnen somit mit der Erstellung eines neuen Recipes.
Wir geben unserem Recipe eine eindeutige Bezeichnung und wählen für unser Beispiel: „Send BTC to Exchange“ und der Beschreibung: „Automated forwarding to another Bitcoin address“
Im ersten Schritt müssen wir den Trigger festlegen. Wir erhalten eine Vielzahl von Trigger, welche uns von BTCPay Transmuter zur Verfügung gestellt werden.
Sobald Bitcoin Guthaben auf einer bestimmten Bitcoin Wallet liegt, soll dieses Guthaben an eine andere Bitcoin Adresse weitergeleitet werden.
Deshalb wählen wir als Trigger die Variante „Balance Check“.
Dieser Trigger soll das Guthaben der Wallet überwachen. Jetzt stellt sich die Frage, welche Bitcoin Wallet überwacht werden soll. Dies wird im folgenden Schritt festgehalten.
Dazu wird jetzt ein External Service benötigt, welcher an dieser Stelle erstellt wird. Mit Hilfe von NBXplorer lassen sich die Veränderungen einer bestimmten Bitcoin Wallet feststellen. Da wir bisher keinen Überwachungsservice auf Basis von NBXplorer als ein External Service erstellt haben, erstellen wir jetzt Einen
Wir geben dieser Wallet einen eindeutigen Namen und wählen als Type: „NBXplorerWallet External Services“.
Dann müssen wir dem Überwachungsdienst mitteilen, welche Wallet überwacht werden soll. Es handelt sich dabei um die interne BTCPay Wallet, welche zum Supporter Shop gehört, der auf unserem Demo BTCPay Server liegt.
Dazu müssen wir den NBXplorerWallet External Service mit dem Supporter Shop pairen.
Klicken auf Save, dann erscheint die Seite erneut mit dem Link.
Jetzt klicken wir auf den Link, um den Pairing Vorgang zu autorisieren.
Wählen den entsprechenden Shop aus und klicken auf Approve.
Danach gehen wir wieder auf die BTCPay Transmuter Seite und dort in den Menüpunkt Recipes. Dort sollte unser Recipe mit der Bezeichnung: „Send BTC to Exchange“ aufgeführt werden:
Wir klicken auf Edit um mit unserer Einrichtung fortzufahren.
Wir bekommen auf der folgenden Ansicht die Option „Wallet Generator“ angeboten.
Die Option Wallet Generator würden wir verwenden, wenn wir eine neue Wallet erstellen wollten. Wir benötigen keine neue Wallet, da wir die interne BTCPay Wallet verwenden wollen, welche mit unserem Supporter Shop verknüpft ist.
Es soll an dieser Stelle nicht unerwähnt bleiben, dass man an dieser Stelle eine eigene Wallet erstellen könnte und die entsprechenden relevanten Informationen in dieser Form zur Verfügung gestellt würden.
Wie bereits erwähnt, wollen wir die bereits vorhandene BTCPay Wallet verwenden und benötigen die entsprechenden Informationen.
Diese finden wir auf dem BTCPay Server im Menüpunkt Wallets. Dort wählen wir den entsprechenden BTCPay Store aus und finden die Wallet Settings:
Im Bereich Settings finden wir im Feld Derivation Scheme den sogenannten Public Key (xpub).
Es ist wichtig, dass dieser XPub-Key um die Angaben zu dem Address Type erweitert wird. Dies wurde festgelegt, als der Shop angelegt worden ist. Wir haben uns damals für den Address Type P2SH-P2WPKH entschieden und müssen jetzt an unseren XPUB Key den Zusatz -[p2sh] anhängen.
Diese Angaben kopieren wir in das Feld Derivation Strategy
Damit von dieser Wallet etwas ausgezahlt werden kann, wird der Private Key benötigt. Dieser Private Key kann als Mnemonic Seed (12 bzw. 24 Wörter), als Passphrase oder als Private Key vorliegen. Eine Variante wird benötigt. Es müssen also nicht alle Felder ausgefüllt werden. Eines der drei Felder ist ausreichend.
ACHTUNG!!!
Wer den Private Key besitzt, der besitzt auch die Bitcoin. Deshalb gehe mit dem Private Key sehr gewissenhaft um. Sei Dir im Klaren darüber, was Du gerade machst. Speichere diesen Private Key auf gar keinen Fall auf dem Demo Server von Coincharge. Höchstens zum Ausprobieren. Verwende Deinen eigenen BTCPay Server und lasse niemals einen größeren Bitcoinbetrag dort liegen, dessen Verlust Du nicht verschmerzen kannst.
In unserem Fall bleiben die Bitcoin höchstens eine Millisekunde auf dieser Wallet. Dennoch sollte man sich dem Risiko bewusst sein.
Wir klicken auf Speichern und erhalten dann die folgende Ansicht.
Jetzt müssen wir noch den Trigger und die Action festlegen.
Wir gehen bei Recipes auf unseren Recipe und dort auf Edit.
Auf der folgenden Seite bearbeiten wir den Trigger und klicken auf Add.
Bei dem Trigger legen wir fest, bei welcher Bedingung etwas passieren soll. Es soll etwas passieren, wenn sich das Guthaben auf unserer Wallet sich verändert.
Wir legen für unseren Fall fest, dass wenn das Guthaben (Balance) größer als Null ist, dann soll etwas passieren.
Nachdem wir den Trigger gespeichert haben, müssen wir die Action definieren.
Dazu klicken wir auf Add Action Group und erhalten eine Auswahl von vordefinierten Möglichkeiten.
Sobald auf unser Wallet ein Guthaben eingeht, soll es umgehend weitergeleitet werden. Entsprechend wählen wir die Action „Send Transaction“.
Auf der folgenden Seite klicken wir auf Add.
Dann haben wir die Möglichkeit festzulegen, was mit dem Guthaben auf der Wallet passieren soll.
In das Feld Amount geben wir {{TriggerData.Balance.ToDecimal(MoneyUnit.BTC)*(100/100)}}
ein.
Dieser Befehl besagt, dass 100% des Guthabens verwendet werden soll. Wenn wir zum Beispiel sagen würden, dass wir nur 50% an die Börse senden wollen und 50% an unserer eigene Wallet, dann könnten wir dies mit {{TriggerData.Balance.ToDecimal(MoneyUnit.BTC)*(50/100)}}
entsprechend definieren.
Als Zieladresse (Destination Address) hinterlegen wir eine statische Bitcoin Adresse, welche wir uns von der Seite der Bitcoin Börse besorgt haben.
Wir verwenden eine fixe Adresse, da die Möglichkeit für jede Transaktion eine neue Ziel-Adresse zu generieren, nicht zur Verfügung steht.
Wir klicken auf Speichern und sind fertig. Jetzt müssen wir nur das die entsprechenden Live Test vornehmen.
Wir machen in unserem Supporter Shop eine Testbestellung. Danach kontrollieren wir über Recipes die Logs zu der Transaktion.
Die Weiterleitung war erfolgreich und auch die Bitcoin Börse informierte uns per Email über den erfolgreichen Eingang der Bitcoin.
In diesem Beitrag haben wir gezeigt, wie die Bitcoin, welche in unserer Shop Wallet eingehen, automatisiert an eine Bitcoin Börse weitergeleitet werden können. An der Bitcoin Börse können die Bitcoin dann automatisiert verkauft werden. In dem Beitrag „Bitcoin akzeptieren und Euro empfangen“ haben wir gezeigt, wie an der Bitcoin Börse automatisiert Bitcoin verkauft werden können. Somit wird erreicht, dass ein Händler Bitcoin akzeptieren kann und keinerlei Kursrisiken zu euro oder Dollar befürchten muss. Der Shop verkauft alles in Euro, der Kunde bezahlt mit Bitcoin und der Händler bekommt Euro auf sein Bankkonto.
Mit Hilfe von BTCPay Transmuter lassen sich solche automatisierten Abläufe auf Basis von Trigger und Action Befehlen für die individuellen Anforderungen umsetzen.
Leave a Reply
Your email is safe with us.