Live-Blockchain-Backup

Was ist eine gute Strategie, um die Blockchain-Dateien von Bitcoin ( nicht seine Wallet-Datei) zu sichern, ohne (zB) eine Bitcoin, die eine Gegenpartei-Server-Instanz mit Strom versorgt, offline nehmen zu müssen?

Das Kopieren der Blockchain von einem laufenden Bitcoin kann zu einer beschädigten Kopie führen ( https://bitcoin.stackexchange.com/a/25260/1660 ),

Um dies zu vermeiden, ist es am besten, eine separate Bitcoin auszuführen, die die Blockchain aus der ersten Instanz zieht (indem sie als einzige Netzwerkverbindung mit addnode hinzugefügt wird) und diese regelmäßig zu stoppen und dann alle Änderungen zu synchronisieren? Oder gibt es einen weniger umständlichen Weg, um ein kohärentes Blockchain-Backup von einem Live-Bitcoin zu erhalten?

Dies ist eine interessante Frage. Aber da Blockchain auf jeden Computer im Internet kopiert wird und Offline-Kopien überall verfügbar gemacht werden, was ist die Notwendigkeit, sie überhaupt zu sichern? (es sei denn, Sie betreiben natürlich Ihre eigene Blockchain?)
Es dient der schnellen Wiederherstellung – es dauert einige Zeit, die Blockchain herunterzuladen und neu zu indizieren. Ich mache mir keine Sorgen um den Verlust der Blockchain, ich mache mir Sorgen um den Verlust der Betriebszeit, wenn ich sie wiederherstellen muss. :-)
Soweit ich sehen kann, handelt es sich bei Blockchain um eine reine Anhängedatenbank, und selbst bei abgebrochenem Kopieren sollten Sie gut dran sein, wenn Sie nur den neuesten unvollständigen Block löschen und herunterladen und dann eine Neuindizierung ausführen. Obwohl Sie sich nicht sicher sind, ob bitcoindSie dies tun können ... :) Auch die Neuindizierung ist eine teure Operation ... Sie müssen also auch Indizes kopieren, wenn Sie es schnell machen wollen.
Der Ansatz, den Sie mit addnode vorschlagen, scheint also vernünftig zu sein.
Oder lassen Sie sie beide redundant laufen und verbinden Sie Ihr Backend mit dem, was aktiv ist (dh mit der längsten Kette). Bonuspunkte, wenn jeder auf einer anderen Internetverbindung läuft, während sie sich gegenseitig über eine lokale LAN-IP verbinden. Oder Sie könnten die sekundäre Instanz vom Internet trennen, bis die primäre ausfällt, und dann einige Addnodes auf der sekundären Instanz ausführen.

Antworten (1)

Der einfachste Weg wäre, einen Snapshot zu erstellen, aber diese Methode hängt hauptsächlich von der Unterstützung des Betriebssystems oder der Hardware ab.

Eine weitere Option ist das Erstellen einer bootstrap.dat-Datei, die im Grunde eine Verkettung aller Blöcke in einer einzigen Datei ist. Wenn der Knoten diese Datei in seinem Datenverzeichnis findet, lädt er alle Blöcke daraus, bevor er eine Verbindung zum Netzwerk herstellt, sodass das anfängliche Laden viel schneller sein kann (wieder stark von Ihrer E / A- und Verarbeitungskapazität abhängig ...).

Mit den Tools hier können Sie eine Bootstrap.dat-Datei erstellen . Informationen zur Wiederherstellung finden Sie unter https://bitcointalk.org/index.php?topic=145386.0