Ist die Bitcoin-Datenbank plattformübergreifend kompatibel?

Ich möchte meine Windows 7 Bitcoin-Datenbank (die von mir heruntergeladene Blockchain + meine Brieftaschen) unter Linux (Debian) verwenden. Ich führe Debian als VirtualBox-Gast auf einem Windows 7-Host aus und gebe den Bitcoin-Datenordner (C:/Benutzer/Benutzername/AppData/Roaming/Bitcoin/) als Ordner für Debian frei.

Bitcoin unter Debian mit dem richtigen -datadir-Parameter sagt jedoch „Fehler beim Öffnen der Blockdatenbank. Möchten Sie die Blockdatenbank jetzt neu erstellen?“ Botschaft. Das bringt mich zu der Frage, ob die Datenbanken überhaupt zwischen Windows und Linux kompatibel sind.

Bearbeiten 1: Ich verwende jeweils eine Bitcoin-Instanz. Mir wurde klar, dass ich den gleichen Fehler bekomme, selbst wenn ich ein leeres Datenverzeichnis verwende, das über VirtualBox auf dem Host bereitgestellt wird.

Hier ist das debug.log (das gleiche für leeres oder volles Datenverzeichnis):

2013-12-22 20:49:07 Bitcoin version v0.8.6-dirty-beta (2013-12-05 13:11:26 +0100)
2013-12-22 20:49:07 Using OpenSSL version OpenSSL 1.0.1e 11 Feb 2013
2013-12-22 20:49:07 Default data directory /home/kozuch/.bitcoin
2013-12-22 20:49:07 Using data directory /home/kozuch/vboxshare2
2013-12-22 20:49:07 Using at most 125 connections (1024 file descriptors available)
2013-12-22 20:49:07 init message: Verifying wallet...
2013-12-22 20:49:07 dbenv.open LogDir=/home/kozuch/vboxshare2/database ErrorFile=/home/kozuch/vboxshare2/db.log
2013-12-22 20:49:07 Bound to [::]:8333
2013-12-22 20:49:07 Bound to 0.0.0.0:8333
2013-12-22 20:49:07 init message: Loading block index...
2013-12-22 20:49:07 Opening LevelDB in /home/kozuch/vboxshare2/blocks/index
2013-12-22 20:49:07 : Error opening block database.
Do you want to rebuild the block database now?
2013-12-22 20:49:07 Shutdown : In progress...
2013-12-22 20:49:07 Flush(false)
2013-12-22 20:49:07 DBFlush(false) ended               0ms
2013-12-22 20:49:07 StopNode()
2013-12-22 20:49:07 Flushed 0 addresses to peers.dat  4ms
2013-12-22 20:49:07 Flush(true)
2013-12-22 20:49:07 DBFlush(true) ended               1ms
2013-12-22 20:49:07 Shutdown : done

Das Problem scheint folgendes zu sein:

ErrorFile=/home/kozuch/vboxshare2/db.log

Bearbeiten 2: Es gibt auch eine .lock-Datei mit der Größe 0 im Datenverzeichnis, nachdem ich den Fehler erhalten habe.

Bearbeiten 3: "ErrorFile=/home/kozuch/vboxshare2/db.log" war also kein Problem. Ich erhalte diesen Fehler für eine lokal funktionierende Instanz (ohne freigegebenen Datenordner).

Können Sie überprüfen, ob alle Dateien im Bitcoin-Ordner demselben Benutzer gehören, den Sie verwenden? Wenn nicht, versuchen Sie, -R ~/.bitcoin als root zu chown

Antworten (2)

Nur etwas, um schnell zu überprüfen. Welche Dateiberechtigungen gelten für den Ordner und die Dateien, auf die Sie zugreifen möchten? Vielleicht möchten Sie sie vorübergehend auf 777 setzen und versuchen, sie zu öffnen, nur um auszuschließen, dass es sich nicht um ein Berechtigungsproblem handelt.

Bearbeiten: Eine .lock-Datei der Größe 0 sagt uns nichts. Mein Client läuft perfekt und hat auch nur einen zur Info.

Die Berechtigungen sollten in Ordnung sein. Der Benutzer, unter dem ich Bitcoin ausführe, kann aus diesem freigegebenen Verzeichnis schreiben/löschen. Das Ausführen von "chmod -R 777 vboxshare2" hilft nicht.
Haben Sie versucht, Bitcoin mit dem Start von Bitcoin mit dem Flag datadir=\new directory\ zu starten. Müssen Sie auch bitcoin-qt anstelle einer der leichteren Brieftaschen ausführen?
Ja, ich verwende den Parameter -datadir=/home/kozuch/vboxshare2, wenn Sie danach fragen. Und ja, ich möchte den vollständigen Client ausführen.
Sehr seltsames Problem. Das Letzte, woran ich denken kann, ist, Bitcoin mit -checklevel=2 auszuführen.

Es sollte kompatibel sein, wenn Sie jeweils nur eine Instanz ausführen, ABER ich denke, dass das Datadir gesperrt ist. Versuchen Sie, mehr Details in den Protokollen zu finden, es sollte Ihnen den Grund des Fehlers sagen, der alles Mögliche sein kann. Wenn Sie eine Bitcoin-Software unter Windows ausführen, stoppen Sie sie und versuchen Sie, Bitcoin von Ihrer Linux-Box neu zu starten.

EDIT: Hast du Bitcoin installiert und als root ausgeführt? Wenn nicht, können Sie versuchen, -R ~/.bitcoin als root zu chown, nicht den db-Ordner selbst, es kann immer noch ein Berechtigungsproblem sein,