What are differences between MemoryBlockStore and SPVBlockStore in bitcoinj?

Which should be used for downloading the blockchain and why?

Can I use same SPVChain format file for all wallets?

1 Answer 1


MemoryBlockStore keeps StoredBlocks in memory and it is used primarily for unit testing.

Whereas SPVBlockStore holds a limited number of block headers in a memory mapped ring buffer. With such a store, you may not be able to process very deep re-orgs and could be disconnected from the chain (requiring a replay), but as they are virtually unheard of this is not a significant risk. You can find the reference document from the following link:

MemoryBlockStore https://bitcoinj.github.io/javadoc/0.12/org/bitcoinj/store/MemoryBlockStore.html

SPVBlockStore https://bitcoinj.github.io/javadoc/0.12/org/bitcoinj/store/SPVBlockStore.html

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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