Block stores persist blockchain data downloaded from remote peers. There is an SPV block store which preserves a ring buffer of headers on disk and is suitable for lightweight user wallets, a store that can calculate a full indexed UTXO set (i.e. it can query address balances), and a memory only store useful for unit tests.
Interface Summary Interface Description BlockStoreAn implementor of BlockStore saves StoredBlock objects to disk. FullPrunedBlockStoreAn implementor of FullPrunedBlockStore saves StoredBlock objects to some storage mechanism.
Class Summary Class Description MemoryBlockStoreKeeps
StoredBlocks in memory.
MemoryFullPrunedBlockStore MemoryFullPrunedBlockStore.StoredBlockAndWasUndoableFlag SPVBlockStoreAn SPVBlockStore holds a limited number of block headers in a memory mapped ring buffer.
Exception Summary Exception Description BlockStoreExceptionThrown when something goes wrong with storing a block. ChainFileLockedExceptionThrown by
SPVBlockStorewhen the process cannot gain exclusive access to the chain file.