Bitcoin-Core
CCompactSize 和 CVarInt 的區別
我正在開發一個解析器比特幣核心,我有一個類型 CVarInt 的問題,我使用 CCompact 大小的解碼器模式,但是在塊 976 我有一個類型問題,因為值 id 不尋常,所以我有為什麼比特幣核心決定將 CCompact 大小更改為 CVarInt 的問題?
比特幣核心版本中引入了哪些需要更改實現的內容?
對不起我糟糕的英語,但我正在學習。
CVarInt編碼只用於內部UTXO集合的儲存,絕不用於P2P協議。CCompactSize 用在很多地方,包括每個區塊的交易數量、每個交易的輸入和輸出數量以及腳本的長度。
如果您正在解析塊數據,您將永遠不會遇到 CVarInt。如果您遇到問題,幾乎可以肯定是其他問題,或者您的 CCompactSize 解碼器中存在錯誤。