A wrapper for abstract-leveldown compliant stores, used by OrbitDB
This is a tool that manages a persistent connection to an abstract-leveldown
compliant store. The implementation tests indicate include examples for the following stores
Help is wanted to support more stores!
OrbitDB uses it primarily with levelup (in node.js) and level-js (in the browser) and inside the orbit-db-keystore and orbit-db-cache packages.
Leveldown is used as an example here, but you could install any abstract-leveldown complaint store.
npm install orbit-db-storage-adapter leveldown
Usage is the same on the command line or in the browser. async
/await
used for brevity.
// Requirements
import leveldown from 'leveldown' // or any abstract-leveldown complaint store
import storageAdapter from 'orbit-db-storage-adapter')
const leveldownOptions = {}
const storage = storageAdapter(leveldown, leveldownOptions)
const levelupOptions = {} // see below
store = await storage.createStore(location, levelupOptions) // These options passed to levelup instance
// ***
// Do stuff with the store here: get, put, delete, batch, etc
// **
await store.close()
await storage.destroy(store)
When setting everything up, you have the opportunity to pass two sets of options: one for the leveldown
instantiation, and the other for the levelup
instantiation.
Pull requests and issues are welcome. Issues tagged with "Help Wanted" will have the most impact.
MIT © Haja Networks Oy