Bitcoin-Core

如何將私鑰導入修剪後的節點?

  • April 4, 2021

我正在嘗試恢復我的比特幣核心錢包,但我只有私鑰和密碼,我沒有wallet.dat文件。

我嘗試使用

importprivkey privatekey xxxxxxxxxxxxxxxxxxxx

這給了我錯誤Rescan is disabled when blocks are pruned (code -4)

如何導入密鑰?

通常,Bitcoin Core 附帶的錢包只保留直接涉及錢包的任何交易的副本。當您導入密鑰時,您的節點會掃描整個區塊鏈以查看是否有任何交易涉及該密鑰。

一個修剪過的節點已經處理了整個區塊鏈,但只保留了數據的尾部。這意味著當您在修剪節點中導入私鑰時,修剪節點沒有數據來檢查相關事務。這就是為什麼它不符合rescan要求。要找到與密鑰相關的交易,您需要重複區塊鏈的初始同步。

正如Prayank在他的回答中已經說過的那樣,你可以使用

importprivkey "<key>" "" false

導入一個或多個私鑰。第三個參數中的“false”跳過了導入觸發的通常重新掃描。這應該可以避免您看到的錯誤。

導入所有相關密鑰後,使用-reindex命令行選項重新啟動節點以重新開始初始同步。您的錢包將在同步期間掃描相關交易並重新發現錢包的資金和交易歷史。

如果您希望避免與您的節點執行另一次同步,則可以按照RedGrittyBrick在另一個答案中的建議將密鑰導入輕客戶端,例如Electrum。

我認為你的選擇是

  • 重新啟動您的 Bitcore-core 節點,並禁用足夠的磁碟空間和修剪模式,等待它再次同步,然後使用importprivkey
  • 將您的私鑰導入或掃描到不同的錢包,例如 Electrum。可選擇將錢轉回您的比特幣核心錢包。這可能會更快,但您不會將完整的交易歷史記錄回比特幣核心

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