Unconfirmed txes disappeared in my own bitcoind's mempool

2

1

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.

zono

Posted 2017-05-12T08:09:26.417

Reputation: 1 569

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 2017-05-13T19:22:28.630

1Re-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 2017-05-13T19:26:13.937

@Murch Your comment is what exactly I wanted to know. I will read your link and the source code. Thank you!zono 2017-05-14T12:07:56.283

Answers

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.

zono

Posted 2017-05-12T08:09:26.417

Reputation: 1 569