Development

如何找到所有的 UTXO?

  • February 5, 2022

我知道 UTXO 儲存在鏈狀態數據庫中。

但是我怎樣才能在簡單的 txt 視圖中獲得它們呢?不是餘額,而是每個 UTXO。

使用香草比特幣核心,沒有有效的方法來做到這一點。

我看到兩個選項:

a) 緩慢且非常低效的 RPC 循環(不推薦)

  1. 獲取創世塊雜湊(RPC getblockhash 0
  2. 獲取所有交易的區塊(RPC getblock <hash> 22 代表交易的詳細程度
  3. 遍歷所有交易及其所有輸出,呼叫gettxout <txid> <n>輸出索引**在哪裡n
  4. 如果gettxout返回一個對象,則輸出未使用(UTXO),將其轉儲到文本文件

這可能需要幾個小時或幾天(取決於您的機器)。

b)通過修補核心(0.17.1)快速方式

  1. 更改函式呼叫的程式碼,GetUTXOStats()在 utxo 設置循環 ( while (pcursor->Valid()) {)中應用文本文件轉儲
  2. 編譯
  3. 呼叫 RPCgettxoutsetinfo並讓您添加的程式碼將每個 UTXO 的數據轉儲到文件(或類似文件)

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