Unconfirmed-Transactions

未經確認的交易在我自己的 bitcoind 的記憶體池中消失了

  • May 14, 2017

我有一個未確認的 tx 幾天沒有得到確認。今天,它在我的 bitcoind 的記憶體池(比特幣核心 v0.12.1)中消失了。

以下是tx。blockchain.info 顯示未確認的 tx。

<https://blockchain.info/ja/tx/60821723b93e2ae5ed729e93c22ca824e7e91fe5a16cba3468139657dc953abc>

但是 search_raw_transaction 命令不顯示 tx。

curl -X POST http://localhost:xxxx/api/ --user xxxxx -H 'Content-Type: application/json; charset=UTF-8' -H 'Accept: application/json, text/javascript' --data-binary '{"method": "search_raw_transactions", "params": {"address": "178gnsM1R5gXQgo13wJDMdQTYNJqfB5LJf", "unconfirmed": true}, "jsonrpc": "2.0", "id": 0}' | grep 60821723b93e2ae5ed729e93c22ca824e7e91fe5a16cba3468139657dc953abc

我確定 search_raw_transactions 昨天顯示了它。

似乎記憶體池大小非常大。有影響嗎?

<https://blockchain.info/ja/charts/mempool-count?timespan=all>

是否有可能將 tx 恢復到我自己的 bitciond 中?


更新 1

記憶體池大小是否大致等於未確認的交易?

默奇說

每個節點所有者都可以為記憶體池設置自己的策略。記憶體池有兩個限制: 使用 -maxmempool= 您可以設置一個明確的 MB 限制,它不會超過。預設值為 300MB。

我沒有設置 maxmempool 所以它可能超過 300MB。


更新 2

我確認使用大小達到了 300MB。我通過“bitcoin-cli getmempoolinfo”檢查了它。

我將設置 maxmempool 選項,然後重新啟動 bitcoind。


更新 3

我想確定一下 maxmempool 機制。我相信當使用量超過時,舊的 txes 會被刪除。我的理解正確嗎?還是限制後新txes不會添加mempool?如果下一個是正確的,那對我的情況沒有意義。

問題解決了。我將 maxmempool 從 300MB 更改為 1GB。

而 Murch 的評論正是我想知道的如何讓事務離開記憶體池。謝謝!

您自己發送的交易不應該離開您的記憶體池,除非在確認雙花時手動驅逐或變為無效。外國交易在 14 天(之前是 3 天)後被驅逐,或者當記憶體池以最低費率先滿時被驅逐。您可能還對事務如何離開記憶體池感興趣?

特別是,我想知道刪除順序。

當記憶體池以最低費率先滿時。

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