Bitcoin-Core

如何保存比特幣核心(bitcoin-qt)數據庫以備後用?

  • December 14, 2017

假設我在某些 linux 機器上使用Bitcoin Core錢包收到了一些比特幣。說我現在玩完了。

所以現在我想通過從這台機器上刪除巨大的數據庫來釋放一些磁碟空間(也許在備份後解除安裝程序wallet.dat?),但我不想再次下載整個區塊鏈(第一次花很長時間) ,所以我想將它備份到某個外部驅動器上,這樣當我想再次使用比特幣核心(在同一台機器上或任何其他機器上)時,我可以將它複製回來。

  • 我需要複製的所有文件和目錄是什麼?
  • 除了複製文件之外,是否需要執行任何額外的步驟?
  • 將保存的數據庫載入到新安裝的Bitcoin Core的步驟是什麼?

這將對我的情況有所幫助,而且,我認為我們的社區可以使用此處發布的此類指南。謝謝!

好的,我想我明白了。這是基於此比特幣維基文章的簡短指南。

筆記:

  1. 這與備份您的密鑰無關。如果您失去了錢包或鑰匙,並且您事先進行了此處討論的備份,則此備份將無法幫助您找回失去的硬幣。這只會為您節省一些頻寬/時間/儲存。
  2. 除非您絕對 100% 信任該數據庫副本的完整性,否則不要將數據庫載入到您的節點:

當您以這種方式複制某人的數據庫時,您絕對信任他們。比特幣核心將其區塊數據庫文件視為 100% 準確且值得信賴,而在正常的初始同步期間,它將對等方提供的每個區塊視為無效,除非另有證明。如果攻擊者能夠修改您的塊數據庫文件,那麼他們可以做各種邪惡的事情,這可能導致您失去比特幣。因此,您應該只從您個人控制下的比特幣安裝中複製塊數據庫,並且只能通過安全連接。

回答文章中的問題

  • 需要(完全)複製的目錄是:

    1. .bitcoin/blocks/
    2. .bitcoin/chainstate/
  • 無需執行額外步驟即可備份數據庫。(這不包括備份您自己的比特幣和密鑰,還有一些額外的步驟可以將數據庫載入到另一個安裝中,請繼續閱讀下一點)

  • 為了將保存的數據庫載入到另一個安裝,首先刪除目標安裝的數據庫,然後將備份的區塊鏈數據庫文件複製到它們的位置。

詳細指南

我將假設您在目標安裝的文件夾中(可能~/.bitcoin),所以現在是時候做

cd /path/to/your/target/installation/folder/.bitcoin/

  1. 備份您的數據庫:

首先,確保該節點已關閉。比做備份:

tar cfz /path/to/your/backup/blockchain_database.tar.gz blocks/ chainstate/

現在您有了數據庫的備份。您可能會將此備份帶到其他電腦,或者只是將其保存在某個地方,而不是在您要將數據庫載入到其他節點時執行後續步驟。

現在再次確保相關節點已關閉

  1. 刪除目標安裝的數據庫

rm -r blocks/ chainstate/ 3. 將數據庫從備份中提取到目標安裝

tar xfz /path/to/your/backup/blockchain_database.tar.gz

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