Bitcoin-Core

比特幣 ABC,當美聯儲比特幣核心鏈同步到 2017 年 8 月 1 日上午 6:23,然後凍結

  • January 21, 2018

我已經安裝了 Bitcoin ABC,將 bitcoin.conf 設置為從 Bitcoin Core 指向我的目錄副本,並讓它與網路同步。一切都很好,直到它在分叉處凍結(2017 年 8 月 1 日,上午 6:23)。客戶端反應靈敏,但我的進度沒有改變,“估計同步前的剩餘時間”停留在“正在計算…”起初我以為我遇到了某種網路錯誤,但這似乎不是案子。我有 8 個活動連接。為什麼它不會超越這一點,下載分叉後的交易?

比特幣 ABC,Ubuntu 17.10 (Mate) 上的 v0.16.2.0-unk。

你也複製了整個鏈狀態,這會混淆節點並導致它無法繼續同步,因為鏈狀態說比特幣現金鍊無效,並且它目前使用的鏈的節點事物也是無效的。您可以通過刪除鏈狀態來解決此問題,在這種情況下,它將開始重新索引。

但是,這可能無法解決您的所有問題,因為比特幣鏈仍在磁碟上,並且仍會對其進行索引和驗證。因此,您可能需要刪除一些 blk*.dat 和 rev*.dat 文件(編號較高的文件),以使其恢復到分叉前的狀態,然後從該點開始同步比特幣現金。


細節是我們複製.bitcoin目錄,但刪除.bitcoin/chainstate目錄。blk*.dat如果您現在執行客戶端,當它到達分叉之外的文件時,它將再次凍結。通過在執行的同時執行它:

watch -n 1 'sudo lsof -c bitcoin | egrep -o "bitcoin/blocks/(blk|rev).*dat" | uniq | sed -E "s/^.+$/& date/" | tee -a recent.blk'

watch tail recent.blk,

我能夠發現需要刪除的文件是.bitcoin/blocks/{blk,rev}00953.dat及以上。也就是說,保持00000到00952。然後當我再次執行客戶端時,它工作了。分叉後,它與網路同步。您只需繼續刪除chainstate/目錄和blocks/中的相關文件,就可以節省執行兩次。當你執行客戶端時,它會說,“載入塊數據庫時出錯,你想現在重建嗎?” 回答“是”,然後它會說“重新索引磁碟上的塊”,然後是“同步標頭 (478436)”。最後一個數字是blk00000.datthrough中的塊數blk00952.dat,並且在 478558 處位於分叉之前。

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