Anleitung für Ride the Lightning (RTL)

This post is also available in: Englisch

Die Anwendung Ride the Lightning, oder kurz RTL, ist eine Benutzeroberfläche, mit der Du die Aktivitäten auf Deinem Lightning Node steuern, überwachen und administrieren kannst.

Ride the Lightning läuft unter den Lightning Nodes von LND (Lightning Network Daemon) und c-lightning.

Voraussetzung für den Betrieb von Ride the Lightning ist ein funktionierender und synchronisierter Lightning-Knoten.

Ride the Lightning steht auf folgenden Plattformen zur Verfügung: RaspiBlitz, Nodl, BTCPayserver, Blockdaemon, myNode und Lux Node

Die folgende Ride the Lightning Beschreibung, erfolgt am Beispiel des BTCPay Servers.

BTCPay Server Einstellungen zur Nutzung von Ride the Lightning

Ride the Lightning Bitcoin

Ride the Lightning Bitcoin

Um Lightning mit BTCPay zu nutzen, ist es erforderlich, dass Du einen eigenen BTCPay Server betreibst und als Admin entsprechende Zugriffsrechte besitzt.

Wenn Du einen BTCPay Shop bei einem Third-Party Hoster oder bei Coincharge betreibst, steht Dir die Möglichkeiten Lightning Zahlungen zu akzeptieren nicht zur Verfügung.

Als Betreiber eines eigenen BTCPay Server, kannst Du innerhalb der Einstellung Server Settings die Unterkategorie Service aufrufen. Dort findest Du den Menüpunkt: Ride the Lightning Server.

BTCPay Server Ride the Lightning

Nachdem Du auf See Information geklickt hast, gelangst Du auf die folgende Seite:

Ride the Lightning Server
Ride the Lightning Server

Du hast die Möglichkeit, die Anwendung über Deinen Browser (19) zu öffnen oder durch das Scannen des QR-Codes (2) über Dein Smartphone.

Für das Scannen des QR Codes kann ein normaler QR-Code Reader verwendet werden. Es öffnet sich dann eine Seite, die so aussieht:

Ride the Lightning Mobile Ansicht

Wenn auf die Seite ein Lesezeichen gesetzt wird, kann die Seite jederzeit erneut aufgerufen werden und man kannst jederzeit den Kontostand seiner Lightning Nodes einsehen.

Wenn auf den Link für die Browser Connection geklickt wird, so öffnet sich das RTL-Dashboard.

Ride the Lightning Dashboard

Ride the Lightning Dashboard

Auf der Übersichtsseite (Dashboard) bekommst Du unter Balances (1) Dein Guthaben angezeigt. Es wird unterschieden zwischen Lightning Guthaben und On-Chain Guthaben.

Als On-Chain Guthaben wird das Guthaben bezeichnet, welches auf der Blockchain (also auf der Chain) festgehalten worden ist. Das On-Chain Guthaben ist das Guthaben in Bitcoin und das Off-Chain Guthaben ist das Lightning Guthaben.

Die Liquidität (Liguidity) ist ein wesentlicher Punkt bei Lightning.

Um Lightning Zahlungen senden und empfangen zu können, ist es erforderlich, dass Du Guthaben (Liquidität) besitzt.

Dein Lightning Node wird später eine Verbindung zu einem anderen Node haben. Du musst auf der Gegenseite dieses Nachbar-Nodes ein Guthaben besitzen, um von dort Zahlungen zu erhalten. Das klingt im ersten Augenblick bizarr. Warum sollte man Guthaben bei dem Nachbarnode besitzen, wenn man doch eigentlich Geld bekommen sollte.

Gedanklich ist das Lightning Netzwerk ein riesiges Buchhaltungssystem, bei dem jede Lightning Zahlungen mit dem jeweiligen Guthaben verrechnet wird.

Um daran teilnehmen zu können, muss man über entsprechende In-Bound und Out-Bound Liquidität verfügen.

Die jeweilige Liquidität wird an Punkt (2) bzw. (3) entsprechend angezeigt. Wie man die erforderliche Liquidität erhält, wird in dem Beitrag Lightning Liquidität erklärt.

Im Punkt (4) kannst Du Lightning Zahlungen empfangen (Receive) oder selber Zahlungen anfordern (Pay).

Beim Empfangen und Senden von Lightning Zahlungen muss man erneut etwas umdenken.

Um selber Zahlungen zu empfangen, muss der Zahlungsempfänger im Vorfeld eine Rechnung (Invoice) erstellen. Diese Rechnung (oder Zahlungsaufforderung) wird an den Zahler gesendet.

Der Zahler nimmt diese Rechnung als Grundlage, um die Zahlung dann durchzuführen. Alle relevanten Informationen (Betrag, Empfänger, Verwendungszweck) sind Bestandteil der Rechnung / Zahlungsaufforderung.

Man kann selber (theoretisch) keine Zahlungen erhalten, ohne vorher selber eine Rechnung erstellt zu haben.

Mit KeySend gibt es eine Möglichkeit, welche aber eher für besondere Anwendungsfälle geeignet ist. Hier findest Du weitere Informationen zu KeySend Zahlungen ohne Lightning Rechnung.

An dieser Stelle betrachten wir weiterhin den Fall, dass vor einer Zahlung der Zahlungsempfänger eine Lightning Rechnung erstellt, in der alle relevanten Zahlungsinformationen für die Zahlungsabwicklung eingebettet sind.

On-Chain / Bitcoin

Im Menüpunkt On-Chain wird das Bitcoin Guthaben verwaltet.

Ride the Lightning On-Chain Balance

Unter dem Menüpunkt Send (1) kann man eine Bitcoin Adresseeintragen, an welche die Bitcoin gesendet werden soll. Unter dem Punkt Receive (2) kann man eine Bitcoin Adresse generieren, an die man sich Bitcoin senden lassen kann.

Man hat dabei die Auswahl von Bech32 (P2WKH) Adressen, die mit bc1 beginnen oder P2SH Adressen, die mit einer 3 beginnen.

Zur besseren Darstellung wechseln in den hellen Tages-Modus.

Um Ride the Lightning nutzen zu können, ist es erforderlich, dass als erster Schritt eine Bitcoin Einzahlung (On-Chain) vorgenommen wird.

Wir gehen auf die „On-Chain“-Seite von Ride the Lightning. Dort gehen wir in den Bereich Receive und gerieren eine Bitcoin Adresse, an welche wir die Einzahlung vornehmen können.

Ride the Lightning Bitcoin Adresse erstellen

An diese Bitcoin Adresse senden wir etwas Guthaben. In unserem Fall wurden 1 Millionen Satoshi (0,01 BTC) gesendet.

Jetzt müssen wir abwarten, bis die Bitcoin von der Blockchain bestätigt worden sind.

Unter dem Menüpunkt On-Chain werden die eingezahlten 1.000.000 Sats (Abkürzung für Satoshi) angezeigt. Durch das Klicken auf BTC bzw. EUR wird der der entsprechende Gegenwert angezeigt.

Die FIAT Währung, die an dieser Stelle angezeigt wird, kann unter Settings definiert werden. Der Umrechnungskurs basiert auf den aktuellen Kurs von Blockcain.info. Wir haben uns hier für den Euro entschieden.

Ride the Lightning On-Chain Einstellungen

Jetzt haben wir 1 Millionen Satoshi zur Verfügung. Dieses Guthaben können wir jetzt für Bitcoin (On-Chain) und Lightning Zahlungen (Off-Chain) verwenden.

Lightning (Off-Chain)

Peers / Channels

Der erste Unterpunkt bei Lightning ist Peers und Channels. Dein Lightning Node ist quasi ein Peer. Lightning ist ein Peer-to-Peer Network, welches über Channels (Kanäle) miteinander verbunden werden.

Ride the Lightning Peers und Channels

Als nächsten Schritt werden wir eine Verbindung zu einem anderen Peer (Lightning Node) herstellen und einen Kanal zu diesem Lightning Node eröffnen.

Wenn Du Dich mit einem anderen Peer verbinden willst, so benötigst Du von diesem Peer den Public Key (pubkey) bzw. die Host Adresse.

Die komplette Adresse hat das Format: pubkey@ip:port

Du kannst Dir auf der Seite 1ml.com einen Peer aussuchen, mit dem Du Dich gerne verbinden willst.

Du kannst Dich aber auch mit dem Lightning Node von Coincharge verbinden.

Der Public Key von Coincharge lautet: 0318ac9faa9629e7da08819bc8fe0dd2ae3044d69b1b2283a63479acffeb968483

Sollte es mit dem Public Key alleine nicht funktionieren, so nehme die Node ID  (Node Uri) aus pubkey@ip:port von Coincharge: 0318ac9faa9629e7da08819bc8fe0dd2ae3044d69b1b2283a63479acffeb968483@172.81.178.22:9735

Um Dich mit dem Coincharge Peer zu verbinden, öffnest Du die Seite unter Lightning > Peer/Channels und wählst dort den Bereich Peers aus:

Ride-the-lightning-Pubkey

Dort gibst Du nun den Pubkey oder pubkey@ip:port von Coincharge ein.

Ride-the-lightning Peers verbinden

Hat man auf Add Peer geklickt, öffnet sich das folgende Fenster:

Ride the Lightning Peer Connected

Jetzt würde die Möglichkeit bestehen, dass zusätzlich zu der Verknüpfung mit dem Coincharge Peer auch noch ein Channel eröffnet wird.

Wenn an die Lightning Node im Vorfeld Bitcoin eingezahlt worden sind, verfügt man über das erforderliche Guthaben, um den Kanal aufzuladen.

Wir hatten ja bereits 1 Millionen Satoshi eingezahlt und können davon 100.000 Satoshi (0,001 BTC) verwenden.

Solltest Du auf Deinen eigenen Lightning Node bisher keine Bitcoin (per On-Chain) eingezahlt haben, so hole dies jetzt nach. Warte ab, bis die Bitcoin von der Blockchain bestätigt worden sind. Erst dann macht es Sinn, an dieser Stelle weiter zu machen.

Um eine Verbindung mit einem Lightning Node aufbaust, dann verbindest Du Dich im ersten Schritt mit dem Peer. Danach eröffnest Du einen Channel und stellst Liquidität aus Deinem Bitcoin (on-Chain) Guthaben zur Verfügung.

Wenn Du zum Beispiel in den Kanal zu Coincharge 100.000 sats zur Verfügung gestellt hast, dann sieht es so aus:

RTL Channel Connected zu Coincharge

Channeld Awaiting Lockin

Der Kanal ist jetzt eingerichtet, muss aber noch auf der Blockchain festgehalten werden. solange hat der Channel den Status Channeld_Awaiting_lockin.

Die Kanal Kapazität (Cannel Capacity) beträgt somit 100.000 Sats. Der Betrag ist nicht ausgegeben oder weg, sondern blockiert bzw. gesperrt. Doch aus unseren ursprünglich 1.000.000 sats (=0,01 BTC) wird als Total Balance nur noch 892.234 sats angegeben. Das sind also 107.766 sats weniger geworden.

Davon sind 100.000 sats in dem Kanal zu Coincharge gebunden. Der Betrag ist quasi Inbound Liquidität für die Gegenseite.

Doch wo sind die restlichen 7.766 sats geblieben? Das Eröffnen und das Schliessen eines Channels werden jeweils auf der Blockchain geschrieben. Alle Lightning Transaktionen dazwischen, sind Off-Chain Transaktionen.

Die 7.766 sats sind die Kosten für die Channel-Eröffnung auf der Blockchain. Ebenso wurde ein Betrag reserviert, um die zukünftige Schliessung des Channels damit bezahlen zu können.

Im Detail sieht es dann wie folgt aus:

RTL Channel Informationen im Detail

Bei dem anderen Peer wird die Anfrage und die Channel Eröffnung ebenfalls angezeigt. Deine Channel-Eröffnung würde bei Coincharge dann wie folgt aussehen:

coincharge-RTL-Pending-channel

Nach einem Klick auf die Detailansicht sieht es so aus:

coincharge-open-channel-information-detail

Channeld Normal

Wenn die Channel Eröffnung auf der Blockchain festgehalten wurde, änder sich der Channel Status in Channeld Normal. Dieser Vorgang dauert etwas, abhängig davon, wie schnell der Block von der Blockchain bestätigt worden ist.

In der Regel werden drei Confirmation benötigt, bis aus dem Pending Status in den Open Status gewechselt wird. Du kannst den Status mit Hilfe der Channel Point ID abfragen. Lasse Dir die Channel Informationen anzeigen. Dort gibt es eine Angabe Channel Point. Diesen Wert nimmst Du, ohne den Doppelpunkt und den Wert dahinter.

RTL Channel Point

Diese Angaben kannst Du bei https://mempool.space/ oben rechts in das Suchfeld eingeben und erfährst somit, ob die Transaktion bereits verarbeitet wurde.

Im Channel Alias steht dann der Name des anderen Peers. In diesem Fall ist der Paar Alias Coincharge. Der Total Amount wird in MilliSatoshi (=mSats) angegeben.

Ist der Block bestätigt, so sieht die Channel Information im Detail etwas so aus:

RTL-channeld-normal

Wurde die Channel Eröffnung von der Blockchain bestätigt, ändert sich auch der Status bei dem anderen Peer. Bei dem anderen Peer (in unserem Beispiel bei Coincharge) wird es wie folgt angezeigt.

RTL-coincharge-channel

Node URI

Damit andere Peers einen Channel zu Deiner eigenen Node aufbauen können, wird Deine Node URI bzw. Dein Node pubkey benötigt.

RTL Node Uri

Diese Angaben findest Du in dem linken Menü unter dem Punkt Public Key. Diese Angaben kannst Du jedem mitteilen, der sich mit Dir verbinden soll.

In der Zukunft werden andere Peers eine Verbindung und Channel auch zu Dir aufbauen. Entsprechend würde es sich für Dich darstellen.

Um diese Channel Eröffnung anzunehmen und entsprechend ebenfalls mit Liquidität auszustatten, gehst Du wie folgt vor.

Bei Open Channel siehst Du die Pending Channels aufgelistet. Wenn Du auf die Detailinformationen zu diesem Pending Channel klickst, siehst Du diese Informationen:

Coincharge Channel bestätigen

Die erhältst die Angaben zu dem Channel Point, der hier mit eef1 beginnt.

Ebenso den öffentlichen Schlüssel des Lightning Node, der zu Dir eine Verbindung aufbauen möchte. Der Peer Node Pubkey beginnt hier mit 0233688a und die Capacity ist 100.000. Du siehst als, dass die Gegenseite in den Channel 100.000 Sats reingestellt hat.

Du wechselst von der Channel Ansicht in die Peers Ansicht und findest dort in der Auflistung den Channel entweder nach Alias oder nach Public Key. Wenn Du den Alias nicht bereits kennst, suchst Du nach dem Public Key, der in unserem Beispiel mit mit 0233688a anfangen muss.

RTL Coinsnap Kanal

Lightning Liquidität von Coincharge erhalten

Wenn Du einen Kanal mit Coincharge aufgemacht hast, dann wird Coincharge im Gegenzug den gleichen Betrag zur Verfügung stellen.

coincharge-re-open-channel

Coincharge wird dann einen weiteren (einen zweiten) Kanal zu Deinem Peer eröffnen und den gleichen Betrag zur Verfügung stellen. Es geht aktuell noch nicht, dass der gleiche Kanal von den beiden Peers jeweils mit einem Betrag „aufgeladen“ wird.

Durch die wechselseitigen Kanäle und der Liquidität wird gemeinschaftlich für eine gute Anbindung innerhalb des Lightning Netzwerkes gesorgt.

Für weitere Informationen zum Thema Lightning Liquidity empfehlen wir den Artikel Lightning Liquidität

Die Kanäle können jederzeit von einer der beiden Parteien auch wieder geschlossen werden. Der blockierte Betrag wieder dann wieder freigegeben.

Wenn Du ein Kanal zu Coincharge aufgemacht hast, dann schicke uns über das unten stehende Kontaktformular eine Kurze Nachricht. Gebe Deine Email-Adresse an, damit wir bei etwaigen Rückfragen uns melden können.

In das Textfeld gebe Deine Node ID ein. Wir stellen den gleichen Betrag zur Verfügung, den Du hinterlegt hast. Wenn Du also 100.000 Satoshi in den Kanal stellst, werden wir von unserer Seite ebenfalls 100.000 Satoshi einstellen. Du kannst aber auch einen höheren Betrag wählen.

Lightning > Transactions

Nachdem über den Menüpunkt Peers / Channels die Verbindung innerhalb des Lightning Netzwerkes hergestellt wurde, widmen wir uns bei Lightning Transactions dem Senden und Empfangen von Lightning Zahlungen.

Der Bereich Transactions gliedert sich in Payments (Lightning Zahlungen senden) und Invoices (Lightning Zahlungen empfangen).

Zusätzlich gibt es bei RTL noch den Punkt Query Routes um zu prüfen, wie sein eigener Node mit dem Node verbunden ist, mit dem eine Zahlung abgewickelt werden soll.

RTL Lightning Transactions

Lightning Payments

Über den Punkt Payments werden Lightning Zahlungen ausgeführt. Um eine Lightning Zahlung vornehmen zu können, benötigt man von dem Zahlungs-Empfänger eine Lightning Invoice.

Wir möchten an einer unserer Mobile Lightning Wallets ein paar Satoshi senden. Dazu erstellen wir auf der Blue Wallet eine Rechnung in Höhe von 10.000 Satoshi.

Eine Lightning Rechnung beginnt mit lnbc und sieht zum Beispiel so aus:

lnbc100u1p0wwthhpp5prxgz7fyvwxssv……………sfcp0xdvuv

Diese Angaben geben wir in das Feld Payment Request ein. Wir bekommen dann unterhalb der Eingabe den Verwendungszweck und den Betrag der Rechnung angezeigt. Klicken wir auf View Advanced bekommen wir die Möglichkeit die Gebühren einzustellen, die wir bereits sind zu bezahlen. Wir lassen die Einstellung auf No Fee Limits.

Die Gebühren sind abhängig davon, wie weit man von dem Peer / Node des Rechnungsempfängers entfernt ist. Denn jeder zwischengeschaltete Peer erhält ein Satoshi für die Weiterleitung. Über die Funktion Query Routes kann man die verschiedenen Routen sich anschauen und die optimale Route ermitteln. Über die Auswahl First Outgoing Channel kann man festlegen, über welchen Channel die Zahlung abgesendet werden soll.

Diese Optimierungspotentiale stehe zur Verfügung. Doch unser Fokus liegt darin, dass unsere Zahlung ankommt und wir noch nicht so viele Verbindungen und somit Optionen haben, belassen wir es auf eine sichere Bezahlung und ignorieren die Höhe der gebühren. Die bewegen sich im Millicent Bereich und sind somit zu vernachlässigen.

RTL Lightning Zahlung senden

Wir klicken auf Send Payment und erhalten noch einmal eine Detailansicht unserer Lightning Zahlung bevor wir dann endgültig die Lightning Zahlung bestätigen.

Lightning Zahlung Detailansicht

Lightning Invoices

Um Lightning Zahlungen zu erhalten, wird die Funktion Lightning Invoices verwendet. Als Zahlungsempfänger muss eine Rechnung erstellt werden, in der ein Verwendungszweck und der Betrag festgelegt wird.

Die entsprechende Rechnung wird dann dem Zahler übermittelt, der mit diesen Angaben die Lightning Zahlung vornimmt.

In das Feld Memo tragen wir den Verwendungszweck ein. In dem Feld Amount den Betrag in Satoshi. In unserem Beispiel 10 000 Satoshi.

Wir haben noch die Möglichkeit anzugeben, wie lange diese Rechnung gültig ist. Bis wann die bezahlt sein muss, bevor die Rechnung verfällt.

Lightning Rechnung

Wir klicken auf Rechnung erstellen und erhalten die folgende Ansicht:

Lightning Invoice created

Wir haben jetzt die Möglichkeit den QR Code mit einer Mobile Lightning Wallet zu scannen oder den Rechnungstext, der mit lnbc beginnt, zu kopieren.

Dazu klicken wir dann auf Copy Payment Request und leiten den String an den Zahler weiter.

Wenn die Zahlung geleistet wurde, dann sehen wir das in der Auflistung aller Zahlungen. Die mit einem grünen Punkt versehenen Zahlungen sind erfolgreich verlaufen. Die Transaktionen mit einem gelben Punkt sind bisher nicht ausgeführt worden.

Ride the Lightning Settings

Im Bereich Settings können die Einstellungen des Dashboards angepasst werden. Statt des standardmässigen dunklen Nachtmodus (Mode) kann auf den hellen Tagesmodus gewechselt werden.

Die Farben kann unter Themes angepasst werden.

Ride the Lightning Modus Einstellen

Public Key

Im Menüpunkt Public Key erhält man die Angaben über den eigenen Public Key zu seiner Lightning Node. Dieser Public Key kann anderen Lightning Nodes mitgeteilt werden, damit ein Kanal zu diesem Node eröffnet werden kann.

Wenn Du Wissen möchtest, welche Informationen die Öffentlichkeit über diesen Lightning Node kennt, dann gehe auf die Seite 1ml.com und gebe als Suche den Public Key ein.

Der Lightning Node von Coincharge hat die Adresse:

0318ac9faa9629e7da08819bc8fe0dd2ae3044d69b1b2283a63479acffeb968483

Alle Informationen zu diesem Lightning Node kannst Du hier nachlesen:

https://1ml.com/node/0318ac9faa9629e7da08819bc8fe0dd2ae3044d69b1b2283a63479acffeb968483

This post is also available in: Englisch

2 Comments

Leave a reply