跑过 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,milestone 是 32.0,还没进入稳定版。旧索引库可以继续用,新记录会采用更小格式;想立刻回收旧空间,需要重建 txindex。而且 66GB→26GB、重建时间和查询延迟都是作者那台机器上的测试,不保证每台节点一样。
基础设施优化有时候没那么宏大,就是先帮硬盘松口气。
兄弟们跑节点时,更想先省硬盘,还是省重建时间?
我会继续盯 32.0 的 release notes 和 RC 状态,正式进入发行流程再复盘。
$BTC #BitcoinCore 来源:Bitcoin Core PR
#35531 与合并提交。内容仅