Skip to content
/ welo Public

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

License

Unknown and 2 other licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

hldb/welo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

66909ea · Nov 24, 2023
Sep 15, 2023
Aug 17, 2023
Sep 4, 2023
Nov 24, 2023
Nov 24, 2023
Jul 25, 2023
Oct 16, 2023
Jul 20, 2022
Jul 20, 2022
Jul 20, 2022
Nov 18, 2023
Jan 29, 2023
Nov 23, 2023
Nov 24, 2023
Jul 25, 2023

Repository files navigation

npm Codecov node-current NPM Matrix

welo opal painting

welo

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

HLDB implementation in Typescript

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.