Blockchain

我如何-abort ./bitcoind -reindex-chainstate?

  • November 30, 2021

我使文件可重新訪問。現在我們可以返回到稍後已經與文件同步的狀態。我嘗試將./bitcoind -reindex-chainstate=0, 也放在 bitcoin.conf 中,也直接呼叫 conf。它繼續重新索引鏈狀態。

-reindex-chainstate是一個即時操作:它擦除鏈狀態(UTXO)數據庫。-reindex-chainstate只要提供了命令行選項或reindex-chainstate=1配置文件參數,它就會在啟動時執行。它不能被中斷,但它是如此之快,這很少是一個問題。相當於chainstate/手動清空目錄,FWIW。

每當鏈狀態在區塊鏈之後(即,您的blocks/目錄中有尚未處理的塊),失去的塊將被自動處理。這通常發生在-reindexor之後-reindex-chainstate,但也可能發生在這些之外。例如,當您自己擦除chainstate/目錄時,或者如果將其還原到較舊的備份而不對blocks/目錄進行等效還原。

這些選項的命名有些混亂,因為它們觸發的不是實際的重新索引,而只是它之前的擦除;重新索引是自動的,並且是漸進的(如果您關閉並重新啟動,它將從中斷的地方繼續,除非您在啟動時再次指定重新索引選項;在這種情況下,它會再次被擦除,您將重新開始)。

FWIW,任何選項,包括這些,都可以使用“no”變體(-noreindex-chainstate此處)或傳遞 0(-reindex-chainstate=0)禁用。但是,正如所解釋的,這只會禁用擦除;它無法撤消擦除,因此無法“中止”重新索引,因為如果不首先處理它擁有的所有塊,比特幣核心就無法繼續。

在 -help 中,-reindex-chainstate 不會宣傳為可分配的 [string typed] 參數。

這意味著它是一個布爾參數。

不要將其分配為零。將其完全刪除。

乾杯!


不可賦值參數,布爾值:

 -reindex-chainstate
      Rebuild chain state from the currently indexed blocks. When in pruning
      mode or if blocks on disk might be corrupted, use full -reindex
      instead.

可賦值參數,類型字元串,非布爾值:

 -settings=<file>
      Specify path to dynamic settings data file. Can be disabled with
      -nosettings. File is written at runtime and not meant to be
      edited by users (use bitcoin.conf instead for custom settings).
      Relative paths will be prefixed by datadir location. (default:
      settings.json)

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