Skip to content
A wrapper for abstract-leveldown compliant stores, used by OrbitDB
JavaScript HTML Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
conf
dist
src
test
.gitignore
.npmignore
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE
Makefile
README.md
package-lock.json
package.json

README.md

OrbitDB Storage Adapter

A wrapper for abstract-leveldown compliant stores, used by OrbitDB

CircleCI

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
const leveldown = require('leveldown') // or any abstract-leveldown complaint store
const leveldownOptions = {}
const storage = require('orbit-db-storage-adapter')(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

You can’t perform that action at this time.