Transactions

如何擷取未確認的交易?

  • January 26, 2019

我正在使用 walletnotify 擷取所有存款交易並將它們插入到我的數據庫中。然後在每個 blocknotify 呼叫中,我從數據庫中獲取 6 個確認下的所有交易並更新它們,特別是它們的確認。我如何擷取可能的未確認交易,因此在第一次發佈時保存在數據庫中但在此過程中在接下來的 6 個塊中被拒絕/未確認的交易。而且,我願意接受任何關於改進我現有系統的建議。謝謝

我如何擷取可能的未確認交易,因此在第一次發佈時保存在數據庫中但在此過程中在接下來的 6 個塊中被拒絕/未確認的交易。

有兩種方式首次引入事務 (TXID) walletnotify

    1. 在記憶體池中接受
    1. 區塊確認

記憶體池中的交易並不能保證被探勘,並且確認的交易可能以前從未在您的本地記憶體池中看到過。因此,您需要能夠區分這兩種情況,並且只儲存實際收到確認的交易。

重組:此外,不能保證先前確認的交易會收到來自後續區塊的確認。有可能後續的區塊會形成一個單獨的分支,從而使你之前確認的交易不再在強鏈中。這是您描述的每個新塊的遞增確認將失敗的地方。

最好驗證最長的頭鏈(它們必須通過 prev 頭雜湊連結在一起),並在計算交易確認級別時確保交易包含在最長的鏈中。如果這個最長的頭鏈重組,您可以相應地更新所有交易的確認。

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