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
welo
peer-to-peer, collaborative states using Merkle-CRDTs
HLDB implementation in Typescript
Install
npm install weloUsage
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
License
This project is dual licensed under APACHE-2.0 and MIT.
Funding
Thanks to Protocol Labs for funding this project through this grant.