Home » Bitcoin » Charge-lnd auf Umbrel installieren

Charge-lnd auf Umbrel installieren

In heutigem System möchte ich euch zeigen, wie ihr charge-lnd auf eurem Umbrel System installieren könnt. Charge-lnd ist ein einfacher, regelbasierter Gebührenmanager für LND. Mit diesem Tool könnt ihr Gebühren für das automatische Ausbalancieren einstellen, die Kosten für das Öffnen von Kanälen zurückgewinnen, On-Chain-Gebühren als Referenz verwenden, die Kanalaktivität zur Bestimmung von Gebühren nutzen oder einfach statische Gebühren verwenden. Ausserdem lassen sich Regel erstellen, welches dynamische HTLC Begrenzungen durchführen, oder Kanäle direkt deaktivieren, falls sie komplett leergesaugt worden sind. Das schützt auch vor dem dip-below-reserve Bug der zu Force-Closures führen kann.

Vorbereitungen

Auf eurer Lightning Full Node muss LND laufen, und es müssen natürlich ein paar Kanäle vorhanden sein, damit das ganze Sinn ergibt. Lightningshell für LND benötigt ihr nicht. Das ganze lässt sich normal via SSH Zugang installieren. Loggt euch via SSH auf euer Umbrel System ein. Zuerst erstellen wir uns ein paar Standard Ordner, und notieren uns die LND Container IP:

sudo mkdir -p /mnt/data/upgrades/charge-lnd
sudo touch /mnt/data/upgrades/charge-lnd/charge.config

Der erste Befehl erstellt den Ordner, indem wir unseren Konfigurationsdatei ablegen, der zweite Befehl die Konfigurationsdatei charge.config

Danach müssen wir uns die IP des LND Containers notieren, das geht mit dem Befehl:

sudo cat ~/umbrel/.env

Wir bekommen eine Übersicht aller Verbindungsdaten zum den Diensten wie Bitcoin Core und LND. Wir notieren uns die LND IP Adresse:

Das wäre in meinem Fall die IP 10.21.21.9 und der Standard LND gRPC Port 10009

Charge LND installieren und ausführen

Charge LND müssen wir nicht direkt installieren. Das ganze kommt fertig in einem Docker Container. Da Umbrel bereits Docker komplett eingerichtet hat, müssen wir auch nichts mehr installieren. In einem nächsten Artikel zum Blitz, zeigen wir euch die Installation auf einem System ohne Docker.

Um Charge LND auszuführen benötigen wir nur einen einzigen Befehl. Dieser stellt sicher dass sich charge-lnd mit dem Umbrel Docker Netzwerk verbinden kann, sich mit LND selber befinden kann und ausserdem weiss wo sich wichtige Dateien wie die admin.macaroon befinden. Mit diesem Befehl führt ihr charge-lnd einmal aus, und ruft die Konfigurationsdatei ab:

docker run --rm -it --network=umbrel_main_network -e GRPC_LOCATION=LND_IP:10009 -e LND_DIR=/data/.lnd -e CONFIG_LOCATION=/app/charge.config -v /root/umbrel/app-data/lightning/data/lnd:/data/.lnd -v
/mnt/data/upgrades/charge-lnd/charge.config:/app/charge.config accumulator/charge-lnd:latest

In diesem Beispiel müsst ihr die LND_IP mit eurer notierten LND IP Adresse ersetzen! Führt ihr diesem Befehl aus, wird erstmal nicht viel passieren, da eure charge.config noch leer ist.

Charge-lnd konfigurieren

Die Konfigurationsmöglichkeiten für charge-lnd sind wirklich enorm. Deshalb zeigen wir euch erstmal nur eine Konfiguration, die verhindert, dass der Kanal unter die Kanal-Reserve leergezogen wird, was zu einem Force-Closure führen wird. Dies ist ein LND Bug der erst mit der Version 0.18 behoben wird.

Öffnet mit

sudo nano /mnt/data/upgrades/charge-lnd/charge.config

die Konfigurationsdatei, und platziert folgenden Inhalt hinein:

[default]
# no strategy, just defaults
# not setting min automatically to allow manually setting some channels
# min_htlc_msat = 1000
max_htlc_msat_ratio = 1

[inbound_only]
# these are channels that we are either setting up to close (we have opened bigger channels)
# or that we are using for rebalance out only
# ACINQ: 916131780004872194
chan.id = 916131780004872194
base_fee_msat = 0
fee_ppm = 0
strategy = disable

[100%-5%]
chan.min_ratio = 0.05
strategy = static
# only allow up to 95% of channel capacity to be used in a single HTLC
max_htlc_msat_ratio = 0.95

# to prevent draining channel too much, disable when it gets to 5% or lower
# this also will hopefully catch it before the LND pre-0.18 bug of hitting below-reserve limit and force-closing
[5%-0%]
chan.max_ratio = 0.05
strategy = disable

Dies ist die Standard Konfiguration von Zapo-Matic, einem befreundetem Node-Runner aus dem Lightning Netzwerk. Der Link dazu hier!

Weitere Konfigurations Beispiele gibts bei charge-lnd auf der Github Seite selber:

https://github.com/accumulator/charge-lnd/tree/master/examples

Schaut euch mal die Konfigurationen an, ihr könnt damit alle möglichen Szenarien abdecken auf Basis von vorgegeben Werten und Variablen.

https://github.com/accumulator/charge-lnd?tab=readme-ov-file#more-examples

Crontab erstellen

Bei jedem ausführen des Befehls, wird die charge.config nur einmal abgerufen, und charge-lnd führt die darin enthaltenen Konfigurationen aus. Damit HTLC Anpassungen die auf vorhandene Kapazität zum Beispiel regelmässig angepasst werden, muss charge-lnd regelmässig ausgeführt werden. Bei dynamischen HTLC Anpassungen, wie zum Beispiel in dieser Konfiguration, ist eine ausführung alle 5 Min bei einer Node, auf der sich viel bewegt, empfehlenswert. Bei einer kleineren Node, reicht auch eine Ausführung alle 60 Minuten.

Öffnet mit sudo crontab -e den Crontab Editor, und fügt am Ende folgende Zeile hinzu:

5/* * * * * docker run --rm -it --network=umbrel_main_network -e GRPC_LOCATION=LND_IP:10009 -e LND_DIR=/data/.lnd -e CONFIG_LOCATION=/app/charge.config -v /root/umbrel/app-data/lightning/data/lnd:/data/.lnd -v
/mnt/data/upgrades/charge-lnd/charge.config:/app/charge.config accumulator/charge-lnd:latest

Möchtet ihr eine stündliche ausführen, wäre dass zum Beispiel 0 */1 * * * also:

0 */1 * * * docker run --rm -it --network=umbrel_main_network -e GRPC_LOCATION=LND_IP:10009 -e LND_DIR=/data/.lnd -e CONFIG_LOCATION=/app/charge.config -v /root/umbrel/app-data/lightning/data/lnd:/data/.lnd -v
/mnt/data/upgrades/charge-lnd/charge.config:/app/charge.config accumulator/charge-lnd:latest

Mit dem crontab guru könnt ihr mit die Crontab Zeitangaben etwas herumexperimentieren.

Nun wird die Konfiguration entsprechend des Zeitintervals regelmässig ausgeführt.

Abschluss

Das Tool charge-lnd erweist sich als eine wertvolle Ressource für Lightning Node Betreiber im Lightning Network, indem es eine flexible und effiziente Verwaltung von Gebühren ermöglicht. Die Installation des Tools ist durch die detaillierten Anweisungen im Bericht klar und unkompliziert gestaltet, wodurch Nutzer auch ohne tiefgreifende technische Vorkenntnisse in der Lage sind, "charge-lnd" erfolgreich einzurichten. Die Vielfalt der Konfigurationsmöglichkeiten, darunter die Einstellung von Gebühren für Autobalancing, die Nutzung von On-Chain-Gebühren als Referenz und die Anpassung an die Kanalaktivität, bietet Nutzern die Flexibilität, ihre Gebührenstrategien präzise auf ihre spezifischen Bedürfnisse und Ziele abzustimmen. Abschließend lässt sich sagen, dass "charge-lnd" nicht nur eine Lösung zur Optimierung von Gebührenstrukturen bietet, sondern auch dazu beiträgt, die allgemeine Effizienz und Rentabilität von Lightning-Netzwerkaktivitäten zu verbessern. Wer mehr lieber mit einer Weboberfläche Fee Anpassungen tätigt, der ist mit LNDg besser beraten, jedoch muss dort, für dynamische HTLC Anpassung, auch das Algorythmus, welcher in Python geschrieben ist, anpassen.

Interessiert Ihr euch für eine Fullnode? Schaut bei uns im Shop vorbei, wir bieten vorinstallierte Lightning Full Nodes auf Basis vom Raspi 4 und 5 an.

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert