Blockchain

比特幣數據庫跨平台兼容嗎?

  • March 22, 2014

我想在 Linux (Debian) 上使用我的 Windows 7 比特幣數據庫(我下載的區塊鏈 + 我的錢包)。我在 Windows 7 主機上將 Debian 作為 VirtualBox 來賓執行,並將比特幣數據文件夾 (C:/Users/Username/AppData/Roaming/Bitcoin/) 作為文件夾共享給 Debian。

然而,Debian 上的 bitcoind 使用正確的 -datadir 參數顯示“打開塊數據庫時出錯。你想現在重建塊數據庫嗎?” 資訊。這讓我想到了數據庫在 Windows 和 Linux 之間是否完全兼容的問題。

編輯 1: 我一次使用一個比特幣實例。我意識到即使使用通過 VirtualBox 在主機上掛載的空數據目錄,我也會遇到同樣的錯誤。

這是 debug.log(對於空或完整的數據目錄相同):

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

似乎問題可能與以下有關:

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

編輯 2: 在我收到錯誤後,datadir 中還有一個大小為 0 的 .lock 文件。

編輯 3: 所以“ErrorFile=/home/kozuch/vboxshare2/db.log”不是問題。我在本地(沒有共享數據文件夾)的工作實例中收到此錯誤。

只是要快速檢查一下。您嘗試訪問的文件夾和文件的文件權限是什麼。您可能想暫時將它們設置為 777 並嘗試打開它以排除它不是權限問題。

編輯:大小為 0 的 .lock 文件不會告訴我們任何資訊。我的客戶執行良好,也有一個僅供參考。

如果您一次執行一個實例,它應該是兼容的,但我認為 datadir 已被鎖定。嘗試在日誌中查找更多詳細資訊,它應該會告訴您錯誤的原因,可能是任何原因。如果您在 Windows 上執行任何比特幣軟體,請停止它並嘗試從您的 linux 機器重新啟動 bitcoind。

編輯:您是否安裝了 bitcoind 並以 root 身份執行它?如果沒有,您可以嘗試 chown -R ~/.bitcoin 作為 root,而不是 db 文件夾本身,它仍然可能是權限問題,

引用自:https://bitcoin.stackexchange.com/questions/19219