Citadel Node nach Update in Synchronisation festgehangen

Guten Tag liebe Community,

Ich habe ein Problem bei dem mir jemand vielleicht helfen könnte…

Ich hatte meine Citadel Node auf Version 0.1.5 und habe mir gedacht ok es ist langsam Zeit für ein Update… Also hab ich Schrittweise von Version 0.1.5 → 0.1.7 -0.1.9 -0.2.1 → … -->0.3.1 (wie die genaue Reihenfolge war weiß ich jetzt nicht mehr)

… Nun…

Ja alles funktionierte bis ich irgendwann bei Version 0.2.7 war und die Wallets nicht mehr geladen haben (Dauer Synchronisation) … ich habe dennoch weiter gemacht bis auf 0.3.1.

Jetzt läuft Bitcoin-Core einwandfrei, jedoch sind die Bitcoin-Wallet sowie die Lightning Wallet seit Tagen auf Sync. und starten nicht.
Beim Versuch RTL zu starten fand ich heraus das die admin.macaroon datei nicht vorhanden ist.

Beim lncli kommt folgende Meldung:
[lncli] could not load global options: unable to read macaroon path (check the network setting!): open /data/.lnd/data/chain/bitcoin/mainnet/admin.macaroon: no such file or directory

Also habe ich mal geschaut und endeckt das ich zwei LND ordner an zwei unterschiedlichen Orten abgespeichert habe… (Wahrscheinlich beim Update passiert) (Siehe Foto)

Auf dem Screenshot sieht man das einmal die admin.macaron Datei sowie channel.backup uvm. auf citadel/lnd/data/chain/bitcoin/mainnet befindet…

auf dem anderen Screenshot sieht man das ich im /citadel/app-data Verzeichnis noch einmal ein lnd Pfad habe indem nicht alles vorhanden ist (und ich auch nicht weiß welche von beiden die richtigen sind)

Jetzt möchte ich ungern, ohne es richtig zu Wissen, einfach die Dateien von einen Ordner in den anderen Kopieren → da ich noch mehrere Lightning Channels geöffnet habe und nicht wirklich Lust habe, dass diese jetzt alle bei einpaar Sats/vb geschlossen werden.

Habt ihr vielleicht eine Lösungsvorschlag?

Vielen Dank für eure Hilfe :orange_heart::people_hugging:

PS: Ich verlinke noch die Logs

Citadel Logs:
https://pastebin.com/uAmMvL2u

sudo docker logs --tail=100 lnd-service-1:
https://pastebin.com/WXPNXJZ9

Die einfachste Methode wäre wohl ein Symlink auf die Datei, wenn das das einzige Problem ist. Kopieren würde ich nicht.

Das ist leider immer das Problem von Paketen. Macht eine Komponente Probleme, kann man nicht einfach Hand anlegen, ohne anderes in Mitleidenschaft zu ziehen, besonders bei zukünftigen Updates :sweat_smile:

Das ist halt die Frage: ist es das wirkliche Problem… Ich bin nicht genug in Citadels Architektur drin, weiß nicht wie die einzelnen Pfade miteinander verbunden sind… deswegen weiß ich auch nicht ob es überhaupt bei 0.3.1 Regel ist ob 2x ein LND Ordner existiert (was für mich irgendwie kein sinn macht) oder ob der eine jetzt der neue Pfad ist und beim Update der alte in eines Verzeichnis verschoben wurde… auf welche lnd.conf Datei wird zugegriffen und wieso wird beim update eine neue erzeugt wenn es so sein soll. hmm…

Ich würde einfach anfangen, aufkommende Fehler zu beheben sofern möglich.

Neuinstallation möchtest du ja vermeiden, da bleiben nicht viele Optionen :sweat_smile:

Ne ich hab ja extra hier nochmal gefragt und auch Aaron schon aber er ist ziemlich beschäftigt gerade … weil hab schon ne Menge Channels drauf und alle mit wenigen sats/VB geöffnet… Möchte nicht auf Risiko gehen. Wären da 0,1 Bitcoin drauf würde ich es riskieren aber so nicht.

Da hat Citadel wohl die Ablagestruktur geändert und nicht alles verschoben. Bleibt dir wohl nichts anderes übrig als es selber zu machen.

Die Verzeichnusstruktur von LND sieht so aus lnd/data/chain/bitcoin/mainnet
Also musst du lnd/data/chain/bitcoin/mainnet von ~/citadel/ nach ~/citadel/app-data/lnd/ verschieben/kopieren. Nur den Inhalt von mainnet zu verschieben reicht nicht aus.
Unter lnd/ liegt zu Bsp. die Datei lnd.conf. Beim verschieben/kopieren beachten, dass der Onwner der Dateien enthalten bleibt.

Ich würde wie folgt vorgehen aber alles ohne Gewähr.

cd ~/citadel/app-data/lnd/
mv lnd __lnd
cp -pvr ~/citadel/lnd .

danach sollte es so aussehen ~/citadel/app-data/lnd/lnd/data/chain/bitcoin/mainnet
Viel Glück.

jap und im app-data/lnd Verzeichnis liegt eine lnd.conf datei mit anderen Werten … z.B. ist diese ohne Alias


und darin befinden sich auch die macarrons.db und neutrino db peers.json etc.

und in dem citadel/lnd Verzeichnis befindet sich die richtige lnd.conf da ist nämlich auch der alias eingetragen sowie Werte die ich in der Vergangenheit für min_channel_size eingetragen habe und weiteres


Und dort befindet sich im data Verzeichnis auch alle richtigen Daten wie admin.macaroon uvm.

----> Jetzt weiß ich halt nicht ob ich einfach die dateien ersetzen soll beim verschieben oder ob ich dann was bei den Einstellungen in Citadel kaputt mache da ich nicht weiß wohin die einzelnen „neuen“ Dateien hin verweisen und welche Funktionen sie alles erfüllen.

Ich weiß nicht aber denke entweder muss ich darauf warten das @Aaron mal Zeit hat und sich meiner annimmt oder eventuell jemand anderes der deep-dive in Citadel ist mir weitere Informationen geben kann.

Hätte jetzt gedacht, lnd.conf liegt unter ~/citadel/app-data/lnd/lnd/
Lass es lieber mit dem kopieren.

PS: Sehe gerade das es unter Docker läuft, da bin ich eh raus.

jap Docker läuft… ne ich lass es auch mit kopieren bis mir jemand der sich wirklich gut mit der Citadel Software auf 0.3.1 auskennt und mir sicher sagen kann wie es normalerweise sein müsste.

So ein update zur Lösung die ich dank Aaron jetzt durchgeführt habe. Ich dokumentiere diese, falls jemand das selbe Problem hat sich hier die Lösung ziehen kann:

Folgende Befehle wurden verwendet:

sudo ~/citadel/scripts/app stop lnd && sudo mv ~/citadel/app-data/lnd/lnd ~/lnd_old_backup_25_01_24 && sudo cp -r ~/citadel/lnd ~/lnd_backup_25_01_2024 && mkdir -p ~/citadel/app-data/lnd/lnd && sudo mv ~/citadel/lnd/* ~/citadel/app-data/lnd/lnd && sudo ~/citadel/scripts/start

Einzeln:

  1. sudo ~/citadel/scripts/app stop lnd:
  • Stoppt die Anwendung LND
  1. sudo mv ~/citadel/app-data/lnd/lnd ~/lnd_old_backup_25_01_24:
  • Verschiebt das bestehende „lnd“-Verzeichnis an einen anderen Ort, um ein Backup zu erstellen.
  1. sudo cp -r ~/citadel/lnd ~/lnd_backup_25_01_2024:
  • Erstellt eine Kopie des gesamten „lnd“-Verzeichnisses als Backup.
  1. mkdir -p ~/citadel/app-data/lnd/lnd:
  • Erstellt ein neues leeres Verzeichnis, um das vorher verschobene „lnd“-Verzeichnis zu ersetzen.
  1. sudo mv ~/citadel/lnd/* ~/citadel/app-data/lnd/lnd:
  • Verschiebt alle Dateien und Verzeichnisse aus dem „lnd“-Verzeichnis an den neuen Speicherort.
  1. sudo ~/citadel/scripts/start:
  • Startet die Anwendung

Jetzt werden schonmal die Funds angezeigt und es scheint, dass die Bitcoin Wallet jetzt auch funktioniert (noch nicht getestet) jedoch zeigt immer noch die Anzeige an das es lädt (sowohl Bitcoin-Wallet wie Lightning Wallt)

Bitcoin Wallet zeigt jedoch an, das diese aktiv ist… Lightning verbindet sich aber nicht und bleibt weiter im Sync. Status stecken.

Weiß noch nicht genau was das Problem ist hier ist Troubleshoot:

→ dort scheint es keine Probleme zu geben habe nochmal die sudo docker logs --tail=100 lnd-service-1:

Es scheint, dass es Probleme mit der Verbindung zu bestimmten Peers gibt. Die Fehlermeldung “Unable to parse IP network for peer … : unsupported IP type” deutet darauf hin, dass das System Schwierigkeiten hat, die IP-Adresse des Peers zu interpretieren.
es sind wohl auch mehrere Peers verloren gegangen (z.B. “Lost peer 65.21.91.58:8333 (outbound)”).

So ein ähnliches Problem hatte ich vor paar Jahren ebenfalls bei Umbrel gehabt… ich glaube damals hab ich dir peers Datei gelöscht und beim neustart wurde automatisch eine neue erstellt die dann funktionierte bin mir aber nicht sicher ob das wirklich das problem ist oder es lösen könnte…

Für weitere Hilfe wäre ich sehr Dankbar :people_hugging: :people_hugging: :people_hugging:

Niemand hier mit einer Idee?