Skip to content
Datastore implementation with level(up/down) backend
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
src fix: init db in overridable method for easier extending (#21) Jun 27, 2019
test chore: update dependencies (#23) Nov 29, 2019
.travis.yml chore: update ci May 29, 2019 chore: release version v0.14.0 Nov 29, 2019
LICENSE initial commit Mar 13, 2017
package.json chore: update contributors Nov 29, 2019


standard-readme compliant Build Status Codecov Dependency Status js-standard-style

Datastore implementation with levelup backend.

Lead Maintainer

Alex Potsides

Table of Contents


$ npm install datastore-level


const LevelStore = require('datastore-level')

// Default using level as backend for node or the browser
const store = new LevelStore('path/to/store')

// another leveldown compliant backend like memdown
const memStore = new LevelStore('my/mem/store', {
  db: require('level-mem')

Browser Shimming Leveldown

LevelStore uses the level module to automatically use level.js if a modern bundler is used which can detect bundle targets based on the pkg.browser property in your package.json.

If you are using a bundler that does not support pkg.browser, you will need to handle the shimming yourself, as was the case with versions of LevelStore 0.7.0 and earlier.

Database names

level-js@3 changed the database prefix from IDBWrapper- to level-js-, so please specify the old prefix if you wish to continue using databases created using datastore-level prior to v0.12.0. E.g.

const leveljs = require('level-js')
const browserStore = new LevelStore('my/db/name', {
  db: (path) => leveljs(path, {
    prefix: 'IDBWrapper-'

More information:


Feel free to join in. All welcome. Open an issue!

This repository falls under the IPFS Code of Conduct.



You can’t perform that action at this time.