Transactions

是否可以將比特幣守護程序配置為僅使用 ZeroMQ 廣播未經確認的交易?

  • April 19, 2017

目前,我正在執行一個完整的節點比特幣守護程序,配置為通過 ZeroMQ (ZMQ) 發布雜湊交易。我一直注意到,作為該hashtx主題的訂閱者,廣播了已確認和未確認的交易。我只真正關心未經證實的交易。有沒有辦法將比特幣守護程序(bitcoind)配置為只廣播未經確認的交易?

當 ZMQ 廣播已確認的交易時,有很長的間歇時間,大約幾分鐘,這種行為會導致類似“凍結”的狀態,因為沒有新的未確認交易流過(被確認的交易通過)。

在我的應用程序層,我可以過濾掉已確認的交易,但如果可能的話,我還是想在源頭停止它。

另一方面,為什麼 ZMQ 會同時廣播已確認和未確認的交易?這是否與守護程序必須更新其區塊鏈的本地副本有關?

使用目前的比特幣核心版本(撰寫本文時為 0.14.2),這是不可能的。快速破解CZMQNotificationInterface::SyncTransaction(const CTransaction& tx, const CBlockIndex* pindex, int posInBlock)很簡單(只需添加一個if (!pindex))。

如果您不想更改源,可以呼叫gettransactionRPC 並獲取確認計數。

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