I read in my debug file:

Imported mempool transactions from disk: 
143751 successes, 235 failed, 1 expired

What does failed and expired mean in this context? How can I fix that?


You can't, and you don't have to.

Since Bitcoin Core 0.14.0, the mempool is saved to disk at shutdown, and read again in the background at startup. This helps in quickly establishing a realistic mempool to help with fee estimation and compact block relay.

However, time likely has passed since the mempool was saved and when the import happens. New blocks may have been created since, which likely contain many of the transactions that are being imported. Those will not be acceptable again to your mempool, and they will be listed as failed. Other reasons may include feerate changes, or conflicting transactions that were mined. Since the mempool import happens in the background, some part of it likely gets imported after processing the blocks with whom those transactions conflict.

Transactions that are older than the mempool expiration setting (default: 14 days) don't get imported either, and get listed as expired.

  • 1
    I've added information on 'expired'. I hope I guessed correctly. ;)
    – Murch
    May 27 '17 at 20:11

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.