Transactions
監控新交易的非錢包比特幣地址
這是通常的結帳功能。向使用者顯示地址,並需要在 n 分鐘內監控它的新交易。每次付款的地址都不是唯一的。
可選:最好讓監聽器監聽具有特定傳入金額的交易,但這是可選的。
blockchain.info 有類似的東西,但我想使用 .Net 應用程序中的本地比特幣 qt。
*更新:這應該針對非錢包地址/交易進行。
Bitcoin-qt 在處理這類事情時有幾個限制。實際上只有兩種方法可以做到這一點。
- 使用 listunspents RPC 呼叫來查看特定地址的餘額,併計算總餘額。然後從您的 .net 應用程序在後端觸發您的呼叫。
- 使用外部錢包通知 bitcoind 選項,通過腳本將交易數據發送到您的 .net 程序,解析結果以確定付款。這可能會在大容量站點上導致問題,因為它會根據錢包通知產生外部程序。
最後,您只能使用此方法與註冊到本地 bitcoind 的地址進行互動。要麼是它控制的地址,要麼是你手動載入的。
為了通過 RPC API 監控傳入交易的特定接收地址,您應該使用該
listreceivedbyaddress
方法。添加這些參數:listreceivedbyaddress(0, true)
還將返回零確認和空地址。監控具有特定數量的所有傳入交易的最有效方法是呼叫
listsinceblock
,跟踪最後一個由您的應用程序掃描的塊並將其作為參數傳遞:listsinceblock(lastScannedBlockHash, targetConfirmations)
因此您只有效地掃描新塊,這非常快輕巧。用於執行上述操作的久經考驗的庫
.net
是BitcoinLib,它也作為 NuGet 數據包提供: