Bitcoin-Core
如何通過比特幣核心獲得比特幣接收通知
如何使用 Bitcoin Core 獲取比特幣接收通知。我已經嘗試了
walletnotify
andblocknotify
選項。walletnotify
當我發送或接收比特幣時被觸發兩次。我blocknotify
必須執行以下任務來檢測錢包的哪個賬戶收到了比特幣。
- 執行
getBlock
命令獲取所有交易雜湊- 為每個事務雜湊執行一個 for 循環以執行
getTransaction
命令- 如果交易雜湊屬於我的錢包帳戶,我將接收交易保存在我的數據庫中。
使用
blocknotify
似乎效率低下,因為它涉及每個事務的大量 RPC 呼叫。
walletnofity
比特幣發送和接收執行兩次。我也嘗試過
ZMQ
,但我得到的響應很難轉換成理想的格式。那麼有人可以建議一些有效的方法來在第一次確認時獲得比特幣接收通知嗎?
walletnotify
每個未確認的交易創建(傳入/傳出)執行一次,一旦交易被探勘到一個塊中(獲得它的第一次確認),再執行一次。我不確定你在開發什麼,但據我所知,這兩個通知都是必不可少的:第一個讓客戶知道他的交易已被記錄,第二個知道價值確實已匯出,足夠收費,不會雙花。
有關更多資訊,請查看官方文件。 <https://en.bitcoin.it/wiki/Running_Bitcoin>
我看到了一個使用ZMQ的解決方案。
Python 上也提供了一個使用它的範例。
通過啟用 ZMQ,您可以處理網路更新(塊、新事務)並相應地選擇最相關的事件。此外,一些反序列化比特幣塊和交易的庫可能很有用。如果您使用 Python,則可以使用 python-bitcoinlib。