2

I had a unconfirmed tx which have not been confirmed for few days. Today, it was disappeared in my bitcoind's mempool (bitcoin core v0.12.1).

The following is the tx. blockchain.info shows the unconfirmed tx.

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

However search_raw_transaction command does not show the 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

I'm sure search_raw_transactions showed it yesterday.

It seems that mempool size is very big. Is it affected?

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

And is it possible to get back the tx into my own bitciond?


Updated 1

Does the mempool size equal roughly the unconfirmed transactions?

Murch say

Every node owner can set their own policy for the mempool. The mempool is limited two-fold: With -maxmempool= you can set an explicit limit of MB that it will not exceed. The default is 300MB.

I don't set maxmempool so it might over 300MB.


Updated 2

I confirmed the usage size reached 300MB. I checked it by "bitcoin-cli getmempoolinfo".

I will set maxmempool option then restart bitcoind.


Update 3

I want to make sure about the maxmempool mechanism. I believe that old txes are deleted when the usage size exceed. Is my understanding correct? Or will not new txes add mempool after the limit? If the next one is correct, it does not make sence on my case.

  • 1
    Were you the sender or recipient of the transaction? Transactions that you're sending yourself should never leave your mempool unless manually evicted or becoming invalid when a doublespend is confirmed. Foreign transactions get evicted after 14 days (previously 3 days), or when mempool is full by lowest fee rate first. You might also be interested in How do transactions leave the memory pool? – Murch May 13 '17 at 19:22
  • 1
    Re-reading your question again, I'm not sure whether any of your questions remain open when taking into account the above question I've linked. Could you please update your question post to reflect what you're still looking to learn more about? :) – Murch May 13 '17 at 19:26
  • @Murch Your comment is what exactly I wanted to know. I will read your link and the source code. Thank you! – zono May 14 '17 at 12:07
2

Problem solved. I changed to maxmempool from 300MB to 1GB.

And Murch's comment is what I wanted to know how to transactions leave the memory pool. Thank you!

Transactions that you're sending yourself should never leave your mempool unless manually evicted or becoming invalid when a doublespend is confirmed. Foreign transactions get evicted after 14 days (previously 3 days), or when mempool is full by lowest fee rate first. You might also be interested in How do transactions leave the memory pool?

Especially, I wanted to know the delete order.

when mempool is full by lowest fee rate first.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.