Skip to content

firstbatchxyz/hollowdb

Repository files navigation

logo

HollowDB

HollowDB is a decentralized privacy-preserving key-value database on Arweave network, powered by Warp Contracts.

License: MIT NPM License: MIT Workflow: Tests Discord

Installation

To install HollowDB:

yarn add hollowdb     # yarn
npm install hollowdb  # npm
pnpm add hollowdb     # pnpm

Depending on your use-cases, we have several optional dependencies:

Usage

You can read the full documentation of HollowDB at https://docs.hollowdb.xyz.

Note

If you are interested in customizing the smart contract of HollowDB and extending its SDKs, refer to this README.

Examples

Check out the examples folder for a few examples of HollowDB usage:

  • Simple: a single JS file that demonstrates getting & setting a key.
  • Micro: a Vercel Micro backend that can serves HollowDB as API endpoints, useful when you want to use HollowDB from another language.

Testing

You can run all tests via:

pnpm test

Tests operate on a local Arweave instance using arlocal. They will run for all cache types (LMDB, Redis, LevelDB). You will need to have a Redis server running for some of the tests to pass, the URL shall be specified here.

Styling

You can check the formatting of the code or lint everything with the following commands:

pnpm format # prettier
pnpm lint   # eslint