stores
    Preparing search index...

    Various Blockstore implementations are available.

    Provides a complete implementation of the Blockstore interface. You must implement .get, .put, etc.

    import { BaseBlockstore } from 'blockstore-core/base'

    class MyCustomBlockstore extends BaseBlockstore {
    put (key, val, options) {
    // store a block
    }

    get (key, options) {
    // retrieve a block
    }

    // ...etc
    }

    A simple Blockstore that stores blocks in memory.

    import { MemoryBlockstore } from 'blockstore-core/memory'

    const store = new MemoryBlockstore()

    A Blockstore that does not store any blocks.

    import { BlackHoleBlockstore } from 'blockstore-core/black-hole'

    const store = new BlackHoleBlockstore()

    A tiered blockstore wraps one or more blockstores and will query each in parallel to retrieve a block - the operation will succeed if any wrapped store has the block.

    Writes are invoked on all wrapped blockstores.

    import { TieredBlockstore } from 'blockstore-core/tiered'

    const store = new TieredBlockstore([
    store1,
    store2,
    // ...etc
    ])

    An identity blockstore is one that deals exclusively in Identity CIDs - this is a special CID with the codec 0x00 where the multihash digest is the data that makes up the block.

    import { IdentityBlockstore } from 'blockstore-core/identity'
    import { CID } from 'multiformats/cid'

    const blockstore = new IdentityBlockstore()

    blockstore.has(CID.parse('QmFoo')) // false

    blockstore.has(CID.parse('bafkqac3imvwgy3zao5xxe3de')) // true

    References

    BaseBlockstore → BaseBlockstore
    BlackHoleBlockstore → BlackHoleBlockstore
    MemoryBlockstore → MemoryBlockstore
    TieredBlockstore → TieredBlockstore