Protocol
計算任何地址的比特幣
計算任何地址 X 擁有的比特幣的程序是什麼?
我們是否必須在區塊鏈中的每個區塊中搜尋每筆交易,收件人為 X?但這不會給出正確的結果,因為 X 可能已經花費了一些金額?這是如何記錄的>?
回想一下,交易有輸入和輸出:當一個輸出被列為另一個交易的輸入時,該輸出被花費。
所以你從一開始就遍歷區塊鏈,並為未使用的輸出建立一個索引。對於您看到的每個交易輸出,您將其添加到索引中;對於您看到的每個輸入,您從索引中刪除相應的輸出,因為它已被使用。
當您擁有所有未使用輸出的索引時,您會查找收件人為地址 X 的那些。將所有這些輸出的數量相加,您就可以得出地址 X 可用的比特幣的“餘額”。