Bitcoin-Core
為什麼比特幣核心需要 LevelDB 的分叉?
為什麼比特幣核心分叉 LevelDB?比特幣核心有哪些特殊需求,需要專門版本的 LevelDB?
首先有叉子有兩個原因:
- 上游 LevelDB 不支持 Windows,其他地方可用的分支也不支持 MinGW(Bitcoin Core 用於其 Windows 版本建構)。
- 在項目經歷了 BDB 鎖定錯誤的恐慌之後,這導致了不同版本之間的分叉(參見 BIP50),開發人員更願意擁有所有可能影響共識規則的庫的精確固定版本。這意味著,例如,如果在 LevelDB 中發現了一個同樣影響每個實現的錯誤,Bitcoin Core 可能會被迫不修復它,以免引起轉移(取決於錯誤的性質)。
此外,它允許使一些建構系統集成更容易,並在程式碼中禁用壓縮(這對比特幣核心的案例沒有幫助)。