Bitcoin-Core

為什麼數據在區塊鏈文件中反向儲存?

  • April 21, 2021

我正在解析來自比特幣核心區塊鏈 blkxxxxx.dat 文件的二進制數據。如果我讀出幻數,我會得到:

\xf9\xbe\xb4\xd9\

為什麼它不以相反的方式儲存,因為幻數是 d9b4bef9?這只是字節儲存在記憶體中的方式嗎?

我知道這是一個完整的菜鳥問題,但任何人都可以幫助我理解這一點。謝謝。

參見little-endian 和 big-endian

比特幣作者對通過網路傳輸的數據做出的選擇有些武斷。我認為參考實現(比特幣核心)選擇將從網路接收到的數據逐字儲存在磁碟上。

Internet 的標準稱為網路順序,是大端的。Intel x86 系列處理器是小端的。比特幣的早期軟體開發者在建構數據包時並沒有將本地順序轉換為網路順序。至少,不完全是。

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