Awesome
OrbitDB Storage Adapter
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.
Install
Leveldown is used as an example here, but you could install any abstract-leveldown complaint store.
npm install orbit-db-storage-adapter leveldown
Usage
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)
Options
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.
Contributing
Pull requests and issues are welcome. Issues tagged with "Help Wanted" will have the most impact.
License
MIT © Haja Networks Oy