Ereignishorizont
BTCPayWall

BTCPayWall

Die BTCPayWall

Value-for-Value – Lightning ⚡ macht’s möglich!


1. Was ist die BTCPayWall?

Die BTCPayWall ist ein WordPress Plugin, das man auf seine Website einbinden kann. Damit kann jeder seine Website recht einfach monetarisieren. Sie ist sowohl für große Zahlungsbeträge als auch für kleine Micropayments geeignet. Sie ist auch hervorragend geeignet um Spenden oder Zuwendungen für einen guten Artikel, Musik oder ein Video zu erhalten. Viele Menschen bringen guten Content (Inhalt) auf Ihrer Website, haben aber mit den klassischen Systemen wie Visa, Mastercard oder Paypal keine echte Möglichkeit, diese einfache und kostengünstig zu monetarisieren. Der Aufwand und die Kosten sind immens und es lohnt sich oft nicht. Das ist Dank Bitcoin und vor allem seinem Lightning ⚡ Network jetzt möglich. Das ist eine Möglichkeit für Value-for-Value und ein großer Schritt in Richtung Disintermediation. Das spart unnötige Zwischenhändler und damit Kosten. Die Ressourcen sind dann frei, um selbst neues zu schaffen. Das ermöglicht auf freiwilliger Basis für gute Werte in Form von Inhalt, auch gute Werte in Form von Satoshis zu erhalten. Alles erlaubnislos, P2P, 24/7, sofort, weltweit, unabhängig von Intermediäre und bei Lightning nahezu kostenlos.

Die BTCPayWall bietet aktuell vier Funktionen:

  • Tipping – Erhalt von Spenden und Trinkgelder – für das freie Value for Value Model
  • Pay-per-post – Verkauf von einzelnen Blog-Beiträgen und Artikeln
  • Pay-per-view – Verkauf von Videos die direkt abgespielt werden
  • Download-Store – Verkauf digitalen Gütern, die heruntergeladen werden können

2. Wie funktioniert die BTCPayWall?

Der Besucher der Website sieht eine kleine Fensterbox, mit der er die Applikation bedient werden kann. Er kann entweder eine Betrag (z.B. in Satoshis, Euro, etc.) eingeben und bestätigen. Oder er bekommt gleich Vorschläge für Werte und kann diese einfach per Taste auswählen. Hat er das getan, wird von der BTCPayWall ein BTCPay Server aufgerufen, der ein Invoice (Rechnung) zur Verfügung stellt. Dieser BTCPay Server braucht natürlich ein Wallet das mit dem Bitcoin oder auch Lightning Netzwerk verbunden ist. Das kann z.B. ein Raspiblitz Lightning Fullnode sein. Dieser Fullnode ist dein Tor zum Bitcoin und Lightning ⚡ Network.

Der BTCPay Server kann sich z.B. auf dem Raspiblitz befinden. Er erstellt ein Invoice, die dann auf der Website für den Anwender als QR-Code angezeigt wird. Dieser kann die "Rechnung" dann mit seinem Wallet bezahlen. Der Node hinter dem Wallet des Zahlenden, sucht dann einen Route über das Lightning Netzwerk zu dem Knoten des Empfänger. Sind die Satoshis im Wallet des Empfängers angekommen, registriert das der BTCPay Server und übermittelt dieses an die BTCPayWall der Website. Die kann dann z.B. eine "Danke schön! 🧡" Seite aufrufen oder eine andere Aktion ausführen, wie z.B. ein Video abspielen oder eine Datei zum Download freigeben. Falls gewünscht, kann der BTCPay Server auch Emails versenden, sobald eine Zahlung eingegangen ist. Der BTCPay Server unterstützt auch on-chain Bitcoin. Sowohl die BTCPayWall als auch der BTCPay Server lassen sich individuell konfigurieren.

Nachfolgend seht ihr zwei Varianten des Tipping Moduls. Die einfache Tipping Box und die Wide Banner mit vordefinierten Tasten. Die Wide Banner bietet sogar die Möglichkeit eine Nachricht zu hinterlassen. Und habt bitte etwas Geduld. 🙏 Es kann beim ersten mal auch 30-60 Sekunden ⏳ dauern bis der BTCPay Server angezeigt wird. Die Verbindung über das Tor-Netzwerk muss erstmal aufgebaut werden.

Tipping logo

Support my work

Enter Tipping Amount

Powered by BTCPayWall

Damit könnt ihr jetzt einfach Spenden erhalten. Die Einheit SATS ist voreingestellt und kann vom Benutzer geändert werden. Ihr könnt natürlich auch die Voreinstellung auf eine andere Einheit einstellen, z.B. den Euro. Wenn man dann auf "TIPPING NOW" klickt, wird das Fenster für vom BTCPay Server geöffnet (bitte Geduld.. ⏳), wo einem dann die Lightning Invoice oder Bitcoin Zieladresse angezeigt wird.

Die Verzögerung kommt durch die Verbindung über das Tor Netzwerk. Da die Kommunikation dabei über mehrere Relaisstationen läuft, braucht es seine Zeit. Bei einem BTCPay Server mit Clearnet würde das viel schneller gehen. Hier läuft der BTCPay Server aber auf dem Raspiblitz und für meine Privatsphäre läuft alles über Tor. Sonst könnte man sehr einfach den Lightning Node mit der IP-Adresse des Anschlusses und somit auch den Daten der Person in Verbindung bringen. Diese Verzögerungszeit ist halt ein Trade-Off, den man bei der Nutzung von Tor immer eingehen muss.

Bei der Wide Banner Version kann man auch Nachricht hinterlassen und weitere Daten wie Name, Email, Adresse und Telefonnummer abfragen. Die Eingabe kann auch verpflichtend abgefragt werden. Für Spenden macht das allerdings kaum Sinn. Aber probiert es einfach mal aus.

Ach ja.. Und verzagt nicht, falls eine Transaktion mal nicht gleich auf Anhieb funktioniert. Freut euch! Das ihr schon so frühen dabei sein dürft. 😉 Vermutlich hat der Lightning Node, hinter Eurem Wallet, beim ersten Versuch einfach keine passende Route gefunden. Probiert es einfach noch ein- oder zweimal aus, meistens klappt es dann auch.

Für die anderen PayWalls müssen wir aktuell leider noch ein eigenes Fenster öffnen, sonst funktioniert sie nicht richtig. Hier findet ihr ein paar einfache Beispiele:

Pay-per-post – Ein Zitat
Pay-per-view – Ein Video abspielen

Der Download im Download Store hat bei meinen Versuchen leider auch noch nicht richtig funktioniert. Aber damit ihr mal seht, wie es aufgebaut ist, hier ein Beispiel:

Download Store – Alle Bilder zum Tutorial als Zip

Ihr könnt Euch aber auch einen einfache Download Store selber bauen:

Pay-per-post – Download Store – selbstgemacht

3. Was benötige ich für die BTCPayWall

Die Voraussetzung für eine BTCPayWall sind überschaubar. Man braucht einen gut verbundenen Raspiblitz mit aktiven Lightning Channels, die auch Inbound Liquidität aufweisen. Hinzu kommt natürlich noch eine eigenen Website mit WordPress, damit ihr das BTCPayWall Plugin installieren könnt.

Alles weitere kommt mit der Installation und ist frei verfügbar und kostenlos. Lediglich der Service für die IP2Tor Bridge kostet eine kleine Gebühr, die täglich in Lightning Satoshis berechnet und als "Dauerauftrag" gleich von eurem Lightning Node transferiert wird. Das sind 18 Sats pro / 24h. Aktuell entspricht das weniger als ein 1 Cent (Stand 04/22). Was pro Jahr dann nicht einmal 3,50 Euro entspricht. Das Abonnement könnt ihr auch täglich kündigen.

4. Was ist der technische Hintergrund der BTCPayWall?

Hier kommen viele Technologien zusammen, was das ganze recht komplex macht. Das soll aber nicht heißen, dass man wirklich viel Erfahrung haben muss. Man muss kein Programmierer sein oder besondere Fähigkeiten mitbringen. Man sollte nur grob verstehen, was die Systeme machen und wie sie verbunden sind. Ich werde jeden einzelne Punkt erklären, aber es hilft, sich vorher ein bisschen die Übersicht zu verschaffen, damit man versteht, was das da eigentlich passiert. Dazu habe ich die komplette Netzwerk Struktur einmal schematisch aufgezeichnet.

Starten wir mit dem Raspiblitz. Der Raspiblitz ist ein Do-it-yourself Lightning Node. Er ist ein kleiner Einplatinencomputer auf dem die Raspiblitz Software installiert wird. Die kommt standardmäßig mit der Bitcoin und Lightning Fullnode Software. Er hat die komplette Blockchain auf auf seiner Festplatte gespeichert, verwaltet für uns die Bitcoin und Lightning Wallets und stellt die zum managen benötigten Tools bereit. Der Raspiblitz kann aber noch viel mehr, optional kann man z.B. auch einen Blockexplorer, einen Electrum Server, LNbits oder einen BTCPay Server installieren.

LND ist eine von mehreren Lightning Implementation. Es gibt z.B. auch noch C-Lightning und Eclair. Aber alle synchronisieren sich nach und nach auf das gleiche Lightning Protokoll. Das macht es so flexible und unglaublich wachstumsstark.

BTCPay Server ist ein selbst gehosteter Open-Source-Kryptowährungs-Zahlungsabwickler. Es ist sicher, privat, zensurresistent und kostenlos. Den BTCPay Server kann auf dem Raspiblitz installiert werden. Er ist für die Bezahlprozesse der BTCPayWall zuständig.

Alles kommuniziert verschlüsselt über das Tor Netzwerk mit dem Bitcoin und dem Lightning Netzwerk. Die Kommunikation läuft über unseren Router und da wir das Tor Protokolls verwenden, brauchen wir nicht einmal ein Port an unserem Router freigeben. Das Tor Netzwerk wird verwendet um die Verbindungsdaten zu anonymisieren. Die Verbindung läuft über mehrere Stationen, wobei jede nur die vor und nachgeschaltet kennt. So ist es für die Übermittler nicht möglich die ganze Route zu verfolgen. Das setzt schon technisch unser Recht auf Privatsphäre durch.

Das Tor Netzwerk wird auch als das sogenannt "Darknet" bezeichnet. Wir müssen aber von dort in das "Clearnet", also in das klassische WWW, weil da unserer Web Server gehostet ist. Das erledigt für uns ein IP2Tor Server. Also ein Server der die Daten vom Tor Netzwerk in das Clearnet und umgekehrt hebt. Das kostet eine geringe Gebühr. Aber Dank dem Blitz ⚡ Netzwerk können wir jetzt ja ohne Probleme Micropayment durchführen. 😁

Der IP2Tor Server hat eine feste IP und vergibt uns zusätzlich eine Port Nummer, über der wir dann erreichbar sind. Jetzt verlangt heutzutage aber jeder Internet Browser eine Verschlüsselung zum Server, sonst gibt er eine Warnmeldung raus. Das ist aufwendig und kostspielig, weil man dafür eine Zertifikat (CERT) von einer Zertifizierungsstelle (CA) benötigt. Deswegen brauchen wir noch eine Domain über die wir erreichbar sind und die uns dieses TLS-Zertifikat bieten kann. Erst dann beginnt unserer Website mit dem HTTPS und unserer Browser mecker nicht rum, weil die Verbindung zu der Seite nicht sicher sei.

DuckDNS stellt einen öffentlichen DNS-Server bereit, von dem wir eine frei wählbare Subdomain erhalten. Über diese Domain können wir dank des DNS-Servers jetzt auf eine IP Adresse unserer Wahl weiterleiten. Die Anfrage werden also über unsere feste my.duckdns.org Domain an die IP Adresse des IP2Tor Servers weiter geleitet. DuckDNS ist auch ein DDNS (Dynamic DNS) Service Provider. Und somit bleibt unserer Domain immer die gleiche, selbst wenn sich die IP Adresse des IP2Tor Servers einmal ändern sollte. Der Service von DuckDNS ist kostenlos und finanziert sich durch Spenden..

LetsEncrypt ist eine Non-Profit-Organisation ,die sich über Sponsoren und Spenden finanziert. Sie stellt das TLS-Zertifikate zur SSL-Verschlüsselung für unsere Website bereit. Die Aktivierung und die Einbindung des Zertifikats für unsere DuckDNS Domain erfolgt über den Raspiblitz.

Der Web Server schließlich verwaltet unsere Homepage. Den Inhalt unserer Website erstellen wir mit dem Content-Management-System WordPress, welches ein Open-Source Projekt ist. In WordPress haben wir die Möglichkeit das BTCPayWall Plugin zu installieren. Das ist so, wie so ziemlich alle Projekte hier, auch eine frei und open source Software auf Github. Das Plugin der BTCPayWall bietet fertige Blöcke die wir in unserer Homepage einbinden können und die wir dann individuell einstellen können. Das Plugin kommuniziert mit dem BTCPay Server und ermöglicht so den Zahlungsprozess. Dazu generiert der BTCPay Server auf Anfrage einen QR Code, der auf der Website angezeigt wird und vom Benutzer mit seinem Handy Wallet gescannt werden kann. Der QR Code ist eine (off-chain) Lightning Invoice oder ein on-chain Bitcoin Adresse. Was als erstes angezeigt werden soll, kann man selber festlegen und der Benutzer kann dass später auch noch ändern.

Wurde dieser QR Code z.B. mit einem Handy Wallet wie das Bluewallet gescannt, dann kommuniziert das Wallet, bzw. der Server hinter dem Wallet, über das Lightning Netzwerk mit unserem BTCPay Server, um diese Invoice zu bezahlen. Die Kommunikation erfolgt über das Lightning Netzwerk, genau gesagt über die Zahlungskanäle (Channels) des Netzwerks. Da die Teilnehmer meistens keinen direkten Channel zueinander haben, wird man über weitere Lightning Nodes routen müssen. Um diese Route zu finden braucht das Wallet bzw. das Server etwas Zeit. Es kann auch mal sein, das auf Anhieb keine Route gefunde wird, dann muss man es einfach noch ein- oder zweimal probieren. Wenn die Verbindung möglich ist, sollte diese auch gefunden werden. Vorausetzung ist natürlich, dass genug Liquidität in den Channels der Route vorhanden ist. Anstelle das BlueWallet, kann man natürlich auch jedes andere Lightning Wallet verwenden.

Wurde die Zahlung nun geroutet und beglichen, dann zeigt der BTCPay Server das auf der Website an und die BTCPayWall führt die gewünschte Aktion aus. Der BTCPay Server bietet auch die Möglichkeit bei dem Empfangen einer Zahlung eine Email zu verschicken.

Das gleiche funktioniert ähnlich bei einer Zahlung über den BTCPay Server mit on-chain Bitcoin. Hier stellt der BTCPay Server nur eine Bitcoin Adresse zur Verfügung. Die scannt das Handy Wallet des Anwenders. Bestätigt er die Zahlung, dann übermittelt sein Wallet die signierte Transanktion an seinen ein Server, bzw. an einen Bitcoin Fullnode mit Blockchain. Dieser Fullnode überprüft und teilt die neuen Transaktionsdaten dann mit weiteren Fullnodes. Woraufhin die anderen Fullnodes dieses Transaktion auch wieder auf Validität überprüfen und weiterleiten. Letztendlich kommen sie bei einem der Miner an, der schließlich die Transaktion in der Blockchain aufnimmt. Das wiederum registriert unser BTCPay Server und kann die Zahlung dann als beglichen melden und die BTCPayWall führt wieder ihre Aktion aus.

5. Was muss ich machen um mir eine BTCPayWall einzurichten?

Im folgenden habe ich mal die Punkte aufgelistet. Da kommt schon einiges zusammen, aber jeder Schritt ist erklärt und mit Screenshot versehen. Das sollte also jeder hinbekommen, der einen Raspiblitz und eine WordPress Website hat.

  • BTCPay Server auf den Raspiblitz installieren
  • Ein Store mit Wallets auf dem BTCPay Server einrichten
  • IP2Tor Bridge einrichten
  • LetsEncrypt Dienst aufrufen
  • DuckDNS einrichten
  • LetsEncrypt einrichten
  • Die Daten der Dienst prüfen und die Verbindung testen
  • Das BTCPayWallet Plugin auf WordPress installieren und einrichten
  • BTCPay Server API Keys ermitteln
  • API Keys in die BTCPayWall übernehmen und aktivieren
  • Die BTCPayWall auf der WordPress Website einrichten
  • Finally, you made it. Die BTCPayWallet testen

5.1 BTCPay Server auf den Raspiblitz installieren

  • Auf dem Raspiblitz einloggen
  • Die BTCPay Server App auswählen und installieren
  • Die BTCPay Server Informationen Anzeigen lassen und merken

5.2 Ein Store mit Wallets auf dem BTCPay Server einrichten

  • Sich mit dem BTCPay Server über den Browser anmelden
  • Einen Store erstellen
  • Ein Bitcoin Wallet einrichten
  • Ein Lightning Wallet einrichten

5.3 IP2Tor Bridge einrichten

  • Über den Raspiblitz den IP2Tor Dienst buchen
  • Sich die Zugangsdaten anzeigen lassen und merken
  • Die Verbindung zum BTCPay Server testen

5.4 LetsEncrypt Dienst aufrufen

  • Den LetsEncrypt Dienst auf dem Raspiblitz aufrufen
  • Den Anweisungen folgen

5.5 DuckDNS einrichten

  • Die DuckDNS Seite aufrufen, am besten über einen Tor Browser, damit Eure IP nicht mit der Domain in Verbindung gebracht werden kann
  • Ein Konto einrichten
  • Ein Subdomain erstellen
  • Die Domain und den Token merken

5.6 LetsEncrypt einrichten

  • Die Daten von DuckDNS auf dem Raspiblitz eingeben
  • Den Service für die IP2Tor Bridge auswählen und bestätigen
  • Dann habt ihr eine sichere Verbindung vom Browser -> Domain -> Bridge -> Node
  • Hinweis: Das Zertifikat läuft nach 90 Tage ab. Dann müsst ihr das akutalisieren. Unter "Weitere Anmerkungen und Hinweise" beschreibe ich wie das geht.

5.7 Die Daten der Dienst prüfen und die Verbindung testen

  • Die Daten der Dienste prüfen und merken
  • Test der Verbindung zum BTCPay Server

5.8 Das BTCPayWallet Plugin auf WordPress installieren und einrichten

  • Das BTCPayWall Plugin auf WordPress installieren
  • Die BTCPay Server URL in der BTCPayWall angeben
  • Dem dem Link folgen der dann angezeigt wird

5.9 BTCPay Server API Keys ermitteln

  • Einen API Key für "View invoice" erstellen
  • Einen API Key für "Create an invoice" erstellen
  • Die API Keys anzeigen lassen und kopieren

5.10 API Keys in die BTCPayWall übernehmen und aktivieren

  • Die API Keys in der BTCPayWall Plugin übernehmen
  • Das "Payment gateway" für den BTCPay Server aktivieren

5.11 Die BTCPayWall auf der WordPress Website einrichten

  • Eine Block mit der BTCPayWall auf einer Seite erstellen
  • Den Block mit der BTCPayWall konfigurieren

5.12 Finally, you made it. Die BTCPayWallet testen

  • Die Seite aufrufen, einen Betrag eingeben und bestätigen
  • Ein BTCPay Server Fenster mit dem QR Code wird angezeigt
  • Die Invoice mit einem Wallet scannen (hier BlueWallet)
  • Payment successfull
  • Eine Danke Seite als Aktion aufrufen

6. Weitere Anmerkungen und Hinweise

Wollte ihr weiter Informationen zur BTCPayWall, dann kann ich Euch die coincharge.io Seiten empfehlen. Und natürlich die offizielle btcpaywall.com Seite. Hier findet ihr auch unter Dokumentation detaillierte Beschreibungen, wie ihr die einzelnen Funktionen der BTCPayWall verwendet und konfigurieren könnt. Auf coincharge.io gibt es übrigens eine sehr gute Anleitung, schaut da mal rein: BTCPay Server über dem Raspiblitz. Die Seite hat auch sonst sehr sehr guten Content rund um Bitcoin und Lightning, sehr zu empfehlen.

Es gibt jetzt auch ein Telgram Gruppe zur BTCPayWall, wo Euch die Entwickler Fragen beantworten können. Ihr findet sieh hier: https://t.me/BTCPayWall

Mehr zu Value for Value findet ihr hier: Der Wert der Freitheit von Gigi

Ein Hinweis zu den Stores des BTCPay Servers. Der Server bietet die Möglichkeit mehrere Stores für verschiedene Anwendungsfälle anzulegen. Achtet darauf, das ihr für die BTCPayWall einen separaten Store anlegt, die API Keys einzeln übernehmt und explizit den Store auswählt. Sonst kann es sein, das die Schnittstelle nicht funktionieren.

Bei mehreren Stores, die die gleich Lightning Finanzierungsquelle nutzen sollen, also den gleich Node, muss man mit LNbanks arbeiten. Das ist ein Lightning Kontensystem für den BTCPay Server. Während man bei on-chain Wallets für jeden Store ein eigenes Wallet vergeben kann, muss man sich bei Lightning das LND Wallet mit den Channels ja teilen. Um das zu arrangieren und verschiedene Lightning Konten zu vergeben, kann man das LNbanks Plugin auf dem BTCPay Server installieren.

Update des LetsEncrypt Zertifikat:

Das kostenlose Zertifikat läuft leider nach 90 Tage ab und muss danach aktualsiert werden. Den Status des Zertifikats könnt ihr mit dem sslshopper.com (siehe Bild unten) prüfen. Oder nehmt einfach diesen Links

https://www.sslshopper.com/ssl-checker.html#hostname=https://YOUR-SUBDOMAIN.duckdns.org:12345/

und tauscht YOUR-SUBDOMAIN und die IP 12345 gegen Eure aus. Dann zeigt Euch die Website den Status eures Zertifikats.

Es soll auch wohl möglich sein mit certbot.eff.org und dem Certbot DNS DuckDNS Plugin einen CronJob zu erstellen, der dann alle 2 Monate das Zertifikat automatisch aktualisiert. Ich habe das es aber leider nicht hinbekommen und den einfacheren Weg gewählt, ich update das jetzt manuell.

Das manuelle aktualisieren des LetsEncrypt Zertifikats dauert keine 5 Minuten. Setzt Euch einfach eine Terminserie die Euch alle 10 Wochen (maximal 90 Tage) erinnert. Dann cancelt die Subsciprtion für das Lets Encyrpt und fügt es neu hinzu. Fertig! Hier die Anleitung dazu:

"Auf dem Raspiblitz unter SUBSCRIBE (Manage Subscriptions) / LIST (My Subscriptions) das LETSENCRYPT anwählen und CANCEL SUBCRIPTION. Dann unter SUBSCRIBE (Manage Subscriptions) das LetsEncrypt für DuckDNS neu hinzufügen. Dazu braucht man nur die Subdomain und den Token von der DuckDNS Seite. Wenn du gefragt wirst für welchen Service, LNBits oder BTCPay Server, einfach einen auswählen. Der gilt dann auch für den anderen, da die IP gleich ist und sich nur der Port für den jeweiligen Service ändert."

Hier noch ein paar Tipps mit Screenshots:

  • Optimierung der Wallet Einstellung. Damit zeigt der BTCPay Server immer erst das Lightning Wallet an und vorbelegt die Sprache.
  • Auf der Website sslshopper.com könnt ihr Euren SSL Status prüfen. Ihr müsst auf der Seite unter "Check the SSL Certificate On Your Site" den Link zu eurem BTCPay Server eingeben.

7. Die Open-Source-Software Projekte

Und sicherlich noch viele viele mehr, die still und leise im Hintergrund arbeiten. 💛

8. Ein abschließender Gedanke

Und jetzt frage ich Euch, wer sollte sowas aufhalten? Praktisch jeder, mit ein wenig technischen Verständnis, kann sowas aufsetzten. Alle Komponenten sind Standard Hardware oder freie open source Software (FOSS). Ich kann alles selber verwahren, weltweit 24/7 Zahlungen entgegen nehmen und brauch für die fianzielle Transaktion keinen Intermediär. Solange das Internet frei ist, wird keine Macht der Welt verhindern können, dass die Menschen Bitcoin verwenden. Und solange Bitcoin für sie ein Problem löst, oder einen Mehrwert bringt, werden sie es auch verwenden. Bitcoin und Lightning ⚡ sind eine große Revolution, die uns Menschen vom Joch der Zentralisierung befreien kann.

Be your own bank

#seikeinholger

9. Danksagung

Danke an alle die unermüdlich und unentgeltlich an FOSS Projekte arbeiten und diese unterstützen. Wie man sieht, kann man damit unglaubliches schaffen und die Zukunft gestalten. Frei von zentralisierter Hegemonie und Zensur – für den Menschen – dass gibt Hoffnung. 💚

Und zum Abschluss noch einen besonderen Dank an Onleines, für die BTCPayWall und seine spontane Unterstützung beim Einrichten an einem Samstag Abend. 💙

Dieser Bitcoin und Open-Source Space ist einfach unglaublich! ⚡🧡🔥

Erstellt mit Liebe 🧡 Block 731558 / 767695 aktualisiert

– Lightning ⚡ (er)leben –