Bitcoin-Core

計算交易確認

  • February 10, 2020

我正在為我的一個系統編寫一個 API,它可以驗證受監控的地址是否正在接收比特幣,我已經可以檢查地址是否在新收到的塊上,將其保存到數據庫中以供將來用作 UTXO,它正在被管理很不錯。

我只是遇到了一個問題。由於原始塊不保存高度資訊,我如何計算(不使用任何外部 API)我的數據庫儲存的交易確認?這在我的架構 RPC 呼叫中也沒有任何意義。

對於這個任務,最好執行一個帶有事務索引的全節點txindex=1。然後,您可以txid通過呼叫以下方式從交易中獲取確認數:

bitcoin-cli getrawtransaction "txid" true並在現場檢查confirmations。例如,如果您已jq安裝,則可以致電bitcoin-cli getrawtransaction 64749d0a6ab7292ed7445609e1adb8df8d67b29e344d752971699ca75bbda78e true | jq '.confirmations'並得到答案。

如果您沒有使用該txindex=1選項執行您的節點,您需要遍歷塊以查找您的交易,並且通過從塊數中減去交易的塊高度來獲得確認數。您可以檢查交易是否在這樣的塊中:

bitcoin-cli getblock $(bitcoin-cli getblockhash 610321) | jq '.tx' | grep 210d8e526f4d3f72f7cdc9014ef057aa4654f64a7b1bd059f2d8dea7fcce79cd

如果上面的命令返回任何內容,則該事務在該塊中。

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