Quiero usar mi base de datos Bitcoin de Windows 7 (la cadena de bloques que descargué + mis billeteras) en Linux (Debian). Ejecuto Debian como invitado de VirtualBox en el host de Windows 7 y comparto la carpeta de datos de Bitcoin (C:/Users/Username/AppData/Roaming/Bitcoin/) como una carpeta con Debian.
Sin embargo, bitcoind en Debian con el parámetro -datadir adecuado dice "Error al abrir la base de datos de bloques. ¿Desea reconstruir la base de datos de bloques ahora?" mensaje. Esto me lleva a la pregunta de si las bases de datos son compatibles entre Windows y Linux.
Edición 1: estoy usando una instancia de Bitcoin a la vez. Me di cuenta de que recibo el mismo error incluso cuando uso un directorio de datos vacío que se monta a través de VirtualBox en el host.
Aquí está el debug.log (lo mismo para el directorio de datos vacío o completo):
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
Parece que el problema podría estar en lo siguiente:
ErrorFile=/home/kozuch/vboxshare2/db.log
Edición 2: también hay un archivo .lock con tamaño 0 en el directorio de datos después de recibir el error.
Edición 3: Entonces "ErrorFile=/home/kozuch/vboxshare2/db.log" no fue un problema. Recibo este error para una instancia de trabajo localmente (sin carpeta de datos compartida).
Sólo algo para comprobar rápido. ¿Cuáles son los permisos de archivo en la carpeta y los archivos a los que intenta acceder? Es posible que desee configurarlos en 777 temporalmente e intentar abrirlo solo para descartar que no se trate de un problema de permisos.
Editar: un archivo .lock de tamaño 0 no nos dice nada. Mi cliente está funcionando perfectamente y también tiene uno solo para tu información.
Debería ser compatible si está ejecutando una instancia a la vez, PERO creo que el directorio de datos está bloqueado. Intente encontrar más detalles en los registros, debería indicarle el motivo del error, que podría ser cualquier cosa. si está ejecutando algún software de bitcoin en Windows, deténgalo e intente reiniciar bitcoind desde su caja de Linux.
EDITAR: ¿Instalaste bitcoind y lo ejecutaste como root? si no, puede intentar chown -R ~/.bitcoin como root, no la carpeta db en sí, todavía puede ser un problema de permiso,
usuario10950