Network

比特幣如何在 leveldb 數據庫中找到塊定位器雜湊?

  • October 22, 2020

我試圖了解比特幣核心如何建構 sendheaders 和 getheaders 消息所需的塊定位器雜湊列表。我查看了wiki,我發現在 10 個最近的塊雜湊之後,它會以指數方式返回,直到創世塊。

所以看來我必須得到一個知道它在區塊鏈中的索引的塊雜湊。但是比特幣核心如何通過索引找到區​​塊雜湊呢?據我了解,leveldb 允許您僅通過鍵查詢數據,在這種情況下,鍵就是我想要的。

答案是它不為此使用 LevelDB。

它有一個記憶體資料結構,其中包含所有已知的塊頭,每個塊頭都指向其父級。它還有一個向量,其中包含指向目前活動鏈中所有塊頭的指針。

要建構定位器對象,它只需在此向量中查找特定索引。

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