Transactions
為什麼我們除了 CTransactions 還需要 CCoins?
根據我的理解
CTransactions
,它代表了比特幣中的原子單位。它有輸入CTxIn
和輸出CTxOut
。任何專家都可以直覺地了解我們為什麼需要
CCoins
原始碼嗎?為什麼我們應該有一個單獨的修剪類來儲存輸出?
CCoins 是一種內部資料結構,用於表示 UTXO 集中的條目,同時記憶體在記憶體中(參見 CCoinsViewCache)。
出於效率和實用性的原因,它與 CTransaction 是分開的。它缺少用於輸出的向量,從而節省空間。它還具有更高效的序列化形式,允許磁碟上的數據庫更緊湊。此外,它具有我們不希望在無處不在的基本數據類型中使用的便捷方法。由於 CCoins 僅在共識驗證邏輯中使用,因此可以更加具體。