Transactions

監控新交易的非錢包比特幣地址

  • January 23, 2022

這是通常的結帳功能。向使用者顯示地址,並需要在 n 分鐘內監控它的新交易。每次付款的地址都不是唯一的。

可選:最好讓監聽器監聽具有特定傳入金額的交易,但這是可選的。

blockchain.info 有類似的東西,但我想使用 .Net 應用程序中的本地比特幣 qt。

*更新:這應該針對非錢包地址/交易進行。

Bitcoin-qt 在處理這類事情時有幾個限制。實際上只有兩種方法可以做到這一點。

  1. 使用 listunspents RPC 呼叫來查看特定地址的餘額,併計算總餘額。然後從您的 .net 應用程序在後端觸發您的呼叫。
  2. 使用外部錢包通知 bitcoind 選項,通過腳本將交易數據發送到您的 .net 程序,解析結果以確定付款。這可能會在大容量站點上導致問題,因為它會根據錢包通知產生外部程序。

最後,您只能使用此方法與註冊到本地 bitcoind 的地址進行互動。要麼是它控制的地址,要麼是你手動載入的。

為了通過 RPC API 監控傳入交易的特定接收地址,您應該使用該listreceivedbyaddress方法。添加這些參數:listreceivedbyaddress(0, true)還將返回零確認和空地址。

監控具有特定數量的所有傳入交易的最有效方法是呼叫listsinceblock,跟踪最後一個由您的應用程序掃描的塊並將其作為參數傳遞:listsinceblock(lastScannedBlockHash, targetConfirmations)因此您只有效地掃描新塊,這非常快輕巧。

用於執行上述操作的久經考驗的庫.netBitcoinLib,它也作為 NuGet 數據包提供:

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