Blockstore implementation using LevelDB for storing the actual messages (in the case of MessageStore) or the data associated with messages (in the case of a DataStore).
Optional
deletes all entries
Remove the record for the passed key
await store.delete(new Key('awesome'))console.log('deleted awesome content :(') Copy
await store.delete(new Key('awesome'))console.log('deleted awesome content :(')
Remove values for the passed keys
const source = [new Key('awesome')]for await (const key of store.deleteMany(source)) { console.log(`deleted content with key ${key}`)} Copy
const source = [new Key('awesome')]for await (const key of store.deleteMany(source)) { console.log(`deleted content with key ${key}`)}
Retrieve the value stored under the given key
const value = await store.get(new Key('awesome'))console.log('got content: %s', value.toString('utf8'))// => got content: datastore Copy
const value = await store.get(new Key('awesome'))console.log('got content: %s', value.toString('utf8'))// => got content: datastore
Retrieve all cid/block pairs from the blockstore as an unordered iterable
for await (const { multihash, block } of store.getAll()) { console.log('got:', multihash, block) // => got MultihashDigest('Qmfoo') Uint8Array[...]} Copy
for await (const { multihash, block } of store.getAll()) { console.log('got:', multihash, block) // => got MultihashDigest('Qmfoo') Uint8Array[...]}
Retrieve values for the passed keys
for await (const { key, value } of store.getMany([new Key('awesome')])) { console.log(`got "${key}" = "${new TextDecoder('utf8').decode(value)}"`') // => got "/awesome" = "datastore"} Copy
for await (const { key, value } of store.getMany([new Key('awesome')])) { console.log(`got "${key}" = "${new TextDecoder('utf8').decode(value)}"`') // => got "/awesome" = "datastore"}
Check for the existence of a value for the passed key
const exists = await store.has(new Key('awesome'))if (exists) { console.log('it is there')} else { console.log('it is not there')} Copy
const exists = await store.has(new Key('awesome'))if (exists) { console.log('it is there')} else { console.log('it is not there')}
Store the passed value under the passed key
await store.put([{ key: new Key('awesome'), value: new Uint8Array([0, 1, 2, 3]) }]) Copy
await store.put([{ key: new Key('awesome'), value: new Uint8Array([0, 1, 2, 3]) }])
Store the given key/value pairs
const source = [{ key: new Key('awesome'), value: new Uint8Array([0, 1, 2, 3]) }]for await (const { key, value } of store.putMany(source)) { console.info(`put content for key ${key}`)} Copy
const source = [{ key: new Key('awesome'), value: new Uint8Array([0, 1, 2, 3]) }]for await (const { key, value } of store.putMany(source)) { console.info(`put content for key ${key}`)}
Blockstore implementation using LevelDB for storing the actual messages (in the case of MessageStore) or the data associated with messages (in the case of a DataStore).