跑過 Bitcoin Core txindex 的兄弟們,硬碟被它啃掉幾十 GB,確實不是小事。
昨晚 22:20(北京時間),Bitcoin Core PR
#35531 合入 master。作者在主網測試裡把 txindex 從約 66GB 壓到 26GB,省下約 40GB。重建也從 1 小時 50 分縮到 1 小時 19 分,getrawtransaction 查詢仍約 0.2ms。
它怎麼省?以前資料庫 key 直接放完整 32 位元組 txid;新方案用 5 位元組加鹽 SipHash 前綴,再把交易位置壓緊。碰到雜湊前綴重複時,會多讀取一次並核對完整交易,不是把交易認錯。
看起來像白撿 40GB,先別急著動生產節點,哈哈。
這項改動只是進了 master,里程碑是 32.0,還沒進入穩定版。舊索引資料庫可以繼續用,新記錄會採用更小格式;想立刻回收舊空間,需要重建 txindex。而且 66GB→26GB、重建時間和查詢延遲都是作者那台機器上的測試,不保證每個節點一樣。
基礎設施優化有時候沒那麼宏大,就是先幫硬碟鬆口氣。
兄弟們執行節點時,更想先省硬碟,還是省重建時間?
我會繼續盯 32.0 的發行說明和 RC 狀態,正式進入發行流程再複盤。
$BTC #BitcoinCore 來源:Bitcoin Core PR
#35531 與合併提交。內容僅作技術討論,不構成投資建