Vollständige Blockchain in Umbrel importieren?

Hallo liebe Community,

morgen bekomme ich die letzten Teile für meine Full Node geliefert. Ich möchte die Blockchain gerne schon vorher auf meinem PC runterladen und die Blöcke validieren, damit es schneller geht. Meine Frage wäre, ob das funktioniert, wenn ich Umbrel benutzen möchte. Quasi ob ich die vollständige Blockchain einfach „importieren“ kann. Das einzige, was ich zu dem Thema gefunden habe, war, dass es mit RaspiBlitz funktioniert. Liebe Grüße :slight_smile:

Wilkommen im Forum :slight_smile:

Ja, das übertragen der Blockchain geht auch bei Umbrel. Ich habe das mit einer Testnode schonmal getestet (Umbrel 0.5.0).

Zu aller erst musst du Umbrel und die Bitcoin-Node-App auf deiner Hardware installieren.

Auf Umbrel liegt die Blockchain im Verzeichnis „/mnt/data/umbrel/app-data/bitcoin/data/bitcoin/“. Wenn du die Blockchain auf deinem Rechner bereits heruntergeladen hast, kannst du die folgenden Verzeichnisse einfach in das o.g. Verzeichnis kopieren:

  • blocks
  • chainstate

Beachte, dass du dafür den bitcoind Dienst auf der Node stoppen solltest.

2 „Gefällt mir“

Hallo zusammen,

habe nun seit Dezember 2022 mit Umbrel die Blockchan heruntergeöaden und gesynct. Gestern hat der Lüfter vom Raspberry sein Leben beendet. Habe Umbrel heruntergefahren, den Lüfter ersetzt und wieder gebootet - doch Umbrel kann nun die neuen Blöcke nicht mehr validieren, es passiert einfach nichts mehr :frowning:

Um diese wochenlange Warterei zu umgehen möchte ich die Blockchain (Verzeichnisse: blocks und chainstate) herunterladen.

Kann ich diese hier finden und herunterladen, um sie in das bestehende, vvon Umbrel angelegte Dateisystem zu integrieren?

https://blockchain.wavesnodes.com/

Oder gibt es eine bessere Idee?

Danke für eure Hilfe

Woher hast du den Link und warum glaubst du, dort wäre die Bitcoin Blockchain zu finden?
Und selbst wenn dort die Bitcoin Blockchain Daten wären, warum vertraust du dem Anbieter, daß die Blockchain Daten vollständig valide sind?

Für einen initialen Sync passend konfiguriert, braucht auch ein 4GB Raspi 4B nicht wochenlang (ein 8GB RAM Modell noch deutlich weniger), um die vollständige Bitcoin-Blockchain von Null an zu synchronisieren. Aber die Umbrel-Entwickler haben ja andere Prioritäten, als solch ein banales Thema richtig anzugehen.
Beim initialen Sync der Blockchain profitiert der Prozess davon den Wert in der bitcoin.conf dbcache=nnnn [nnnn in Megabytes] so groß zu machen, wie es der RAM-Ausbau der verwendeten Plattform zulässt. Er darf allerdings nicht so groß gewählt werden, daß das System zu swappen anfängt. Permanentes Swappen wäre der GAU.
Bei Umbrel lässt sich das sehr wahrscheinlich auch durch manuelle Bearbeitung der bitcoin.conf im passenden Container für Bitcoin Core erreichen. Ggf. aufpassen, ob bitcoind nicht auch im Container mit widersprechenden Startoptionen angeschubst wird. Ich erinnere mich blass, daß in Umbrel ziemlich viel über die Aufrufparameter an den bitcoind übergeben wurde.
Schlau ist auch möglichst wenige Apps in Umbrel während des initialen Blockchain-Syncs aktiv zu haben, schlicht um ein Maximum an RAM für Bitcoin Core zu haben. Wenn es denn unbedingt Umbrel sein muss, dann alles außer Bitcoin Node, Lightning Node (oder Core Lightning) und Electrs weghauen.

In wenigen Tagen (meist so 24-48h) kann man auch auf einer leistungsfähigeren Plattform, wie einem PC die komplette Bitcoin Blockchain herunterladen und verifizieren. Du brauchst allerdings gut so ca. 600GB freien Platz auf einer SSD (auf einer HDD ist der Sync-Prozess viiiel langsamer). Wenn der Sync auf dem PC fertig ist, fährt man dort Bitcoin Core sauber runter und kann die zwei Ordner blocks und chainstate an die passende Stelle auf der Umbrel-SSD kopieren. (Umbrel davor einmal kurz starten und so 15-20min syncen lassen, dann sauber beenden, damit die Ordner-Struktur für Bitcoin Core richtig angelegt ist. Die gleichnamigen unvollständig gesyncten Ordner in Umbrel überschreibt man natürlich. Benutzer- und Gruppenberechtigungen der Ordner lässt man natürlich so, wie Umbrel das erwartet.)

Für totale Linux-Noobs ist das möglicherweise nix. Aber es ist auch Nichts, was man nicht lernen könnte.

1 „Gefällt mir“

Hallo Cricktor,

danke für deine Anleitung. Ich werde mich außerdem hiermit

weiterhangeln,um überhaupt die Blöcke und deren Status auf eine SSD zu bekommen und die beiden von dir genannten Orndner später in das Umrel Dateisystem zu integrieren.

Bei der aktuellen Umbrelversion kannst du den Wert für den Cache auch über die Weboberfläche ändern:

  • öffne „Bitcoin Node“
  • klicke auf die drei Punkte rechts oben
  • unter „Advanced Settings“ kannst du dann im Punkt „Cache Size (MB)“ den gewünschten Wert einstellen.
1 „Gefällt mir“

Danke für deinen Hinweis :slight_smile:

Operation gelungen – Patient lebt wieder … :slight_smile:

Problem war, dass die Synchronisation der Blockchain mithilfe von Umbrel und einem Raspberry Pi 4 mit 4 GB RAM an einer 1 TB HDD nach Abrauchen und Austausch des Lüfters (inclu. korrektem herunterfahren des Systems) diese einfach nicht mehr wieder aufnehmen wollte. Keine Ahnung, was da im Hindergrund passiert ist. Da bis zu diesem Fehler fast 3 Monate des valisierens mit Umbrel auf ne HDD vergangen waren, suchte ich nach einem schnelleren Weg, den aktuellen Stand der Blockchain zu erreichen.

Lösung war auf meinem Manjaro Linux (Lenovo Thinkpad T460s, i5) die UI von Bitcoin Core (sudo pacman -S bitcoin-qt) über die Repositories zu installieren. Also eine andere 1 TB HDD mit ext4 formatiert, Bitcoin Core Zugriff auf diese ermöglicht und innerhalb von drei Tagen war die Blockchain eingelesen.

Danach habe ich die den Inhalt der beiden Ordner “blocks" und "chainstate“ des originalen Dateisystems von Umbrel gelöscht und durch die gleichnamigen durch Bitcoin Core angelegten Ordner 1 zu 1 ersetzt und so gewissermaßen importiert.

Diese nun „aktualisierte“ HDD wieder an den Raspberry gehangen, hochgefahren und weiter ging das syncen weniger fehlender Blocke und wenige Minuten später wurde der aktuelle mit Transaktionen gefüllte Block validiert.
:slight_smile:

Nachtrag:
Bitcon Core für User von Windows, MacOS oder Linux ist hier zu finden:

Linux-Beginner sei hiermit geholfen, um eine weitere Möglichkeit zu wissen, um nach Herunterladen von:
bitcoin-xx.x.x-x86_64-linux-gnu.tar.gz
ein ausführbares Programm auf den Rechner zu bejommen:

!!! Cchecke als erstes die SHA256 Prüfsiumme von
bitcoin-24.0.1-x86_64-linux-gnu.tar.gz:
49df6e444515d457ea0b885d66f521f2a26ca92ccf73d5296082e633544253bf
(Steht in der herunterladbaren Daei: SHA256SUMS) !!!

Dann *.tar.gz entpacken. Dan findet siche ein neuer Ordner:
bitcoin-24.0.1 und hier da Verzeichnie /bin suchen, um mit Doppelklick bitcoin-qt zu starten.
Gestartetes Progi sieht dann so aus:

@sats_fisher Danke für die Rückmeldung und Beschreibung, was für dich zum Erfolg geführt hat. Der Sync-Umweg über einen potenteren PC geht meist deutlich schneller, als wenn man den Raspi damit quält.

Kann mir wer sagen, wie der Dienst gestoppt werden kann?
Ich habe es versucht mit

$ sudo systemctl stop bitcoind.service
Failed to stop bitcoind.service: Unit bitcoind.service not loaded.
$ sudo systemctl stop node.service
Failed to stop node.service: Unit node.service not loaded.

und schließlich

umbrel    3673 97.6  7.0 719148 561096 ?       SLsl 07:17  13:35 bitcoind -port=8333 -rpcport=8332 -rpcbind=10.21.21.8 -rpcbind=127.0.0.1 -r
$ sudo kill -9 3673
kill: (3673): No such process

Nun habe ich zugegeben nur vage Linux-Kenntnisse, würde dennoch gern ans Ziel kommen und die Blockchain, die ich einst mit Umbrel herunter lud und dann auf den RaspiBlitz migrierte, für eine zweite Node, wieder mit Umbrel, gern weiter nutzen. Alternativ, wenn ich das nicht hin bekomme, warte ich einfach eine Woche, bis die Umbrel-Node sie selbst neu herunter geladen hat. Jedoch reizt es mich, sie weiter zu verwenden, weil ich so auch gleich wieder etwas über Linux lerne.

Da in Umbrel alle Apps in Docker-Containern laufen und man ohne Grund auch den bitcoind nicht mit einem kill -9 aka kill -SIGKILL ins Nirvana schießen sollte, weil das die letzten Blockchaindaten und andere für den bitcoind wichtige Daten beschädigen könnte, ist ein etwas geordneterer Ansatz viel besser.

Am besten stoppst du alle Umbrel Apps und bist dann sicher, daß alle Daten im konsistenten Zustand sind und kopiert werden können. bitcoind allein geordnet zu stoppen, könnte Probleme machen, weil Umbrel ggf. versuchen könnte, diesen wieder neu zu starten, wenn erkannt wird, daß der bitcoind nicht mehr läuft.

Achtung, du kannst keine zwei SSDs oder SSD/HDD oder HDD/HDD sicher an den USB-Ports eines Raspi 4B betreiben, weil der Raspi dafür nicht genügend Leistung an den USB-Anschlüssen bereitstellen kann (in Summe max. ca. 6W für alle angeschlossenen USB-Devices zusammen)! Ein USB3-Hub mit ausreichender eigener Stromversorgung für alle angeschlossenen USB-Devices kann hier helfen. Oder die Daten über’s Netzwerk schubsen…

ssh umbrel@umbrel.local
cd ~/umbrel
sudo ./scripts/stop

Das stop-Skript zeigt dann an, wie es alle Apps, Docker-Container usw. runterfährt. Keine Angst, da werden keine wichtigen Daten gelöscht, alles hat seine Richtigkeit damit.

Die Blockchain-Daten findest du dann in ~/umbrel/app-data/bitcoin/data/bitcoin/ bzw. /home/umbrel/umbrel/app-data/bitcoin/data/bitcoin/. Du musst dann beide Ordner blocks und chainstate kopieren, am besten aber auch noch den indexes Ordner zusätzlich (kann nicht schaden und spart auf der Zielnode mindestens den Neuaufbau des Transaktionsindexes).

Nach dem erfolgreichen Kopieren aller Daten kannst du die Umbrel Apps wieder hochfahren mit:

cd ~/umbrel
sudo ./scripts/start
1 „Gefällt mir“

Danke - das hat funktioniert. Dem Stop-Skript muss genügend Zeit gegeben werden, dachte zwischendurch, die Node hätte sich aufgehangen. Auch das Kopieren der Blocks hat eine Weile (>1h) gedauert. Das wieder Srarten ging hingegen flott.

Hi, weißt du, ob Umbrel mit einer Teilblockchain umgehen kann?
Ich hab es jetzt 3x probiert, dass nur die 2GB große Blockchain von meinem PC Bitcoin Core (hab auf dem Pc nicht genug Speicher für alles) rüber zu schieben.

Bitcoin Node auf Umbrel hat sich nie wirklich hochgefahren. Die App hat zwar „startet“ gezeigt, aber es war nie eine Anzeige zu sehen.