Wer bereits seit längerer Zeit einen Lightning-Node betreibt, kam bestimmt schon mal in die Versuchung auf ein anderes Betriebssystem zu wechseln. Weil der Wechsel des Betriebssystems ein recht schwieriges Unterfangen darstellt, bleibt man dann doch letztendlich beim Altbewährten. Besonders wenn die Anzahl der Channels recht hoch ist, hat das Schließen und Neueröffnen dieser einen hohen Preis.
Ich habe mir vorgenommen, von Mynode auf Raspiblitz zu upgraden und dabei keine Channels schließen zu müssen. An sich funktioniert der Prozess für die meisten Lightning Nodes mit LND aber sehr ähnlich.
Dieser Artikel soll weniger ein Guide und eher eine Erfahrungsdokumentation sein. Aktuell gibt recht viele Unbekannte bei der Migration, weshalb ich absolut keine Verantwortung für eine erfolgreiche Durchführung übernehmen kann.
Um die Migration einfacher zu gestalten, arbeitet Rootzoll außerdem an einem automatisiertem Skript für Mynode.
Vorraussetzungen
Um verlässlich zu migrieren, braucht ihr:
- Einen Computer, auf dem ein Linux-basiertes Betriebssystem läuft
- Zugriff auf euren Router oder ein externes Display für den Raspberry-Pi
- Bash-Kenntnisse
Vorbereitungen
Damit wir keinen Totalverlust aller Funds riskieren, speichern wir zunächst einmal das Static-Channel-Backup. Bei Mynode könnt ihr das unter mynode.local/lnd/ tun, indem ihr auf “Download Backup” klickt. Dieses Backup stellt sicher, dass ihr, selbst wenn ihr alle anderen Daten löscht, eure Funds in den Lightning-Channels recovern könnt. Dann werden jedoch alle Channels geschlossen.
Zusätzlich solltet ihr euch vergewissern, dass ihr eure Lightning-Wallet-Seed noch besitzt. Fahrt dann euren Node über Settings -> Shutdown herunter.
Festplatte
Weil Mynode und Raspiblitz die externe Festplatte jeweils unterschiedlich erkennen, muss die Ordnerstruktur und der Name der Festplatte geändert werden. Öffnet den File-Explorer mit:
sudo nautilus
Aktuell befindet sich die gesamte Ordnerstruktur im Ordner “mynode” im Root-Verzeichnis der Festplatte. Wir verschieben die Ordner:
/mynode/lnd
/mynode/bitcoin
in das Rootverzeichnis:
/lndNEU/
/bitcoin/
Den LND-Ordner benennt ihr zunächst in “lndNEU” um. Nun müssen wir noch den Namen der Festplatte zu “BLOCKCHAIN” ändern. Vor dem Auswerfen der Platte würde ich noch empfehlen, den LND-Ordner auf dem Computer zu speichern. Nur für alle Fälle, denn in diesem Ordner sind alle relevanten Informationen für euren Lightning Node gespeichert.
SD-Karte
Flasht jetzt, wie im Raspiblitz-Installations-Guide beschrieben, eure SD-Karte mit dem Raspiblitz-Image. Wer besonders sichergehen möchte, kann dafür eine zweite MicroSD-Karte benutzen. Nachdem ihr die SD-Karte geflasht habt, könnt ihr sie wieder in den Raspberry-Pi einstecken, die Festplatte anschließen und den Node starten.
Lokale IP Herausfinden
Um sich per SSH mit dem Raspiblitz zu verbinden, müssen wir die lokale IP-Adresse herausfinden. Am einfachsten ist das über ein Display. Wer kein Display bzw. keinen Display-Adapter zur Hand hat, kann sich auch im eigenen Router einloggen und nach den Geräten im Netzwerk suchen. Bei einer Fritzbox funktioniert das über “http://fritz.box/” , bei einem Speedport über “http://speed.port/” .
Raspiblitz Setup
Nachdem ihr euch per SSH mit den Userdaten:
User: admin
Passwort: raspiblitz
angemeldet habt, durchlauft zunächst einmal ganz normal das Setup vom Raspiblitz. Der Node sollte ohne Probleme eure Blockchain-Daten erkennen und euch fragen ob ihr dieser vorhandenen Version der Blockchain trauen wollt. Das müsst ihr bestätigen. Während des Prozesses müsst ihr 4 neue Passwörter vergeben. Notiert euch diese. Durchlauft auch das Lightning-Setup ganz normal.
Nachdem das Setup abgeschlossen ist und der Node komplett einsatzbereit ist, solltet ihr noch einmal sicher gehen, dass das auch alles funktioniert. Wählt im Menu “INFO” und schaut, ob Bitcoin und Lightning funktionieren und Peers finden.
LND Ordner wechseln
Fahrt nun euren Node wieder über das Menu herunter und schließt die Festplatte wieder an den Linux-Computer an. Öffnet die Festplatte wieder über:
sudo nautlius
Nun befinden sich im Root-Verzeichnis der Festplatte ein neuer Order “lnd”. Wir benennen diesen in “lndALT” um und geben dem Order “lndNEU” den Namen “lnd”. Damit ersetzen wir die LND-Dateien des neuen Nodes mit denen des alten Nodes.
Werft die Festplatte aus und schließt sie wieder am Node an. Startet den Node wieder.
Config-Files
Zunächst einmal müssen wir die Config-Files von LND und Bitcoin ändern. Vom Raspiblitz-Menü aus könnt ihr im untersten Menü-Punkt ins Terminal wechseln. Wechselt also zum Bitcoin-User mit:
sudo su bitcoin
Und bearbeitet dann zunächst lnd.conf mit:
nano /mnt/hdd/lnd/lnd.conf
und ersetzt sie mit:
[Application Options] maxpendingchannels=10 alias=BTC21de color=#68F442 listen=0.0.0.0:9735 rpclisten=0.0.0.0:10009 restlisten=0.0.0.0:8080 accept-keysend=true nat=false debuglevel=debug gc-canceled-invoices-on-startup=true gc-canceled-invoices-on-the-fly=true ignore-historical-gossip-filters=1 sync-freelist=true stagger-initial-reconnect=true tlsautorefresh=1 tlsdisableautofill=1 [Bitcoin] bitcoin.active=1 bitcoin.node=bitcoind bitcoin.mainnet=1 enable either testnet or mainnet [Bitcoind] bitcoind.estimatemode=ECONOMICAL bitcoind.rpcuser=raspibolt bitcoind.rpcpass=PASSWORT bitcoind.rpchost=127.0.0.1 bitcoind.zmqpubrawblock=tcp://:28332 bitcoind.zmqpubrawtx=tcp://:28333 [autopilot] autopilot.active=1 autopilot.maxchannels=5 autopilot.allocation=0.6 [Wtclient] wtclient.active=1 [Application Options] nat=false [Tor] tor.active=true tor.v3=true tor.streamisolation=true
Ersetzt “PASSWORT” mit einem von euch gewähltem Passwort.
Öffnet dann die Bitcoin-Konfiguration mit:
nano /mnt/hdd/bitcoin/bitcoin.conf
und ersetzt sie mit
#bitcoind configuration #mainnet/testnet testnet=0 #Bitcoind options server=1 daemon=1 txindex=1 disablewallet=0 main.wallet=wallet.dat datadir=/mnt/hdd/bitcoin #Connection settings rpcuser=raspibolt rpcpassword=PASSWORT rpcport=8332 rpcbind=127.0.0.1:8332 zmqpubrawblock=tcp://127.0.0.1:28332 zmqpubrawtx=tcp://127.0.0.1:28333 #Raspberry Pi optimizations dbcache=128 maxorphantx=10 maxmempool=64 maxconnections=40 maxuploadtarget=5000 #Tor onlynet=onion proxy=127.0.0.1:9050 main.bind=127.0.0.1 test.bind=127.0.0.1 main.addnode=fno4aakpl6sg6y47.onion main.addnode=toguvy5upyuctudx.onion main.addnode=ndndword5lpb7eex.onion main.addnode=6m2iqgnqjxh7ulyk.onion main.addnode=5tuxetn7tar3q5kp.onion dnsseed=0 dns=0 #for Bisq peerbloomfilters=1
Auch hier müsst ihr für “PASSWORT” das zuvor in der lnd.conf gewählte Passwort eintragen.
Lightning Passwort
Mynode erzeugt beim Erstellen des Lightning Wallets ein zufälliges Passwort. Mit diesem Passwort ist dieses Wallet verschlüsselt. Um dieses herauszufinden, benutzt folgenden Befehl:
sudo cat /mnt/hdd/mynode/settings/.lndpw
Dieses Passwort wird bei Raspiblitz oft als “PASSWORD C” bezeichnet. In den Einstellungen von Raspiblitz könnt ihr entweder LN-Autounlock aktivieren, oder nach jedem Neustart das Wallet über:
lncli unlock
entsperren. Danach sollte euer Wallet ganz normal im Raspiblitz-Infoscreen erscheinen und alle Peers erkannt werden. Manchmal kann es eine Zeit dauern, bis alle Peers wiedergefunden werden. Bei mir hat es sogar 1-2 Tage gedauert, bis ich zu allen Peers wieder eine stabile Verbindung hatte.
Permissions
Nun wird es etwas komplexer. Je nach Setup und Ausgangssituation müssen hier unterschiedliche Dinge getan werden. Dadurch das Mynode andere User benutzt als Raspiblitz, entstehen Unterschiede in den Zugriffsrechten der kopierten Dateien.
Zunächst einmal ändern wir den Owner und den Groupowner des LND-Ordners:
sudo chown -R bitcoin:bitcoin /mnt/hdd/lnd
Außerdem müsst ihr dem Groupowner Lese-, Schreib- und Ausführungsrechte geben:
sudo chmod -R g=rwx mnt/hdd/lnd
Userrollen
Installiert ihr zusätzliche Services wie RTL, Thunderhub oder BOS, werden dafür jeweils eigene User erstellt. Um diesen Usern die gleichen Rechte wie dem “Bitcoin”-User zu geben benutzt folgenden Befehl als “admin”-User:
sudo usermod -a -G bitcoin thunderhub
startet dann den Service neu:
sudo systemctl restart thunderhub
Achtung: Die Veränderung der Userrollen kann zu Sicherheitsproblemen führen. Ich habe meine Probleme auf diese Art und Weise gelöst, wobei es dafür sicherlich bessere Wege gibt.
Debugging
Solltet ihr Probleme haben, solltet ihr zunächst
debug
verwenden und nach einem Fehler suchen. Details zu Services wie z.B. LND findest du über:
sudo journalctl -fu lnd.service
Falls ihr Probleme mit Tor habt, müsst ihr die lnd.conf verändern.
Im Raspiblitz-Telegram findet ihr immer Hilfe. Ich kenne wenige Communities, die so hilfsbereit sind.

Schlusswort
Nun solltet ihr einen guten Überblick darüber bekommen haben, welche Schritte zu durchlaufen sind, um das OS eures Nodes zu wechseln. Alle wichtigen Daten zum Lightning-Node sind im LND-Ordner gespeichert und müssen an das entsprechende OS angepasst werden.
Wie zuvor angesprochen, ist jeder Node anders. Was bei mir funktioniert hat, muss nicht unbedingt bei euch funktionieren. Wenn ihr es geschafft habt, erfolgreich auf Raspiblitz zu wechseln, würde ich mich freuen, wenn ihr einen Kommentar schreibt und ggf. eure Tipps hier teilt.