Skip to content

Latest commit

 

History

History
75 lines (50 loc) · 2.34 KB

README.md

File metadata and controls

75 lines (50 loc) · 2.34 KB

npm Codecov node-current NPM Matrix

welo opal painting

welo

peer-to-peer, collaborative states using Merkle-CRDTs

HLDB implementation in Typescript

Project Status

I am currently working on https://github.com/tabcat/dd-tree which will be the core structure for the database.
It has not been simple but I am making small progress daily.
It is the hardest part of the project from a technical standpoint and I want to have a solid solution that will last.
To track this project's progress see this issue: https://github.com/hldb/welo/issues/102

-tabcat

Install

npm install welo

Usage

import { createHelia } from 'helia'
import { createWelo } from 'welo'

/** look at Helia for more configuration */
const ipfs = await createHelia()

/** see more config options in the API docs */
const welo = await createWelo({ ipfs })

/** create a manifest for a keyvalue database */
const manifest = await welo.determine({
  name: 'this is the databases name',
  type: 'keyvalue'
})

/** open the keyvalue database */
const keyvalue = await welo.open(manifest)

/** The keyvalue API docs are not uploaded yet */

const entryCID = await keyvalue.put('key', 'value')
const value = await keyvalue.get('key')
const entryCID = await keyvalue.del('key')

Check out the tests for more usage examples for now.

API

Check out the API Docs

Examples

TodoMVC

License

This project is dual licensed under APACHE-2.0 and MIT.

Funding

Thanks to Protocol Labs for funding this project through this grant.