JSPM

  • Created
  • Published
  • Downloads 6
  • Score
    100M100P100Q29166F
  • License Apache-2.0 OR MIT

peer-to-peer, collaborative states using merkle-crdts

Package Exports

  • welo
  • welo/access/interface
  • welo/access/static/index
  • welo/access/static/protocol
  • welo/database
  • welo/entry/basal/index
  • welo/entry/basal/protocol
  • welo/entry/interface
  • welo/identity/basal/index
  • welo/identity/basal/protocol
  • welo/identity/interface
  • welo/index
  • welo/interface
  • welo/manifest/address
  • welo/manifest/index
  • welo/manifest/interface
  • welo/message/heads
  • welo/pubsub/direct
  • welo/pubsub/monitor
  • welo/pubsub/util
  • welo/replica/graph
  • welo/replica/graph-node
  • welo/replica/index
  • welo/replica/traversal
  • welo/replicator/bootstrap/index
  • welo/replicator/interface
  • welo/replicator/live/index
  • welo/replicator/live/message
  • welo/replicator/live/protocol
  • welo/replicator/pubsub/index
  • welo/replicator/zzzync/index
  • welo/replicator/zzzync/protocol
  • welo/store/interface
  • welo/store/keyvalue/index
  • welo/store/keyvalue/model
  • welo/store/keyvalue/protocol
  • welo/utils/block
  • welo/utils/bloom-filter
  • welo/utils/constants
  • welo/utils/heads-exchange
  • welo/utils/index
  • welo/utils/paily
  • welo/utils/playable
  • welo/utils/replicator
  • welo/welo

Readme

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.