Socket
Book a DemoInstallSign in
Socket

dkv

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dkv

Decentralized key-value store on IPFS

latest
npmnpm
Version
0.0.0
Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

DKV (Decentralized Key-Value Store)

DKV is a decentralized graph store built on IPFS.

import IPFS from 'ipfs'
import DKV from 'dkv'

const ipfs = await IPFS.create()

let store = await DKV.empty(ipfs)
store = await store.set('mykey', { hello: 'world' })

store.id // 'bafyreibbbjhk7fnxplcc6fqb24jctxffgxoqv65466gbx73n3jbqyzn3ru'
await store.get('mykey') // { hello: 'world' }

Every mutation (set(), del()) returns a new instance because every mutation creates a new immutable state with a unique id (CID).

Since the data is accessible over IPFS it is shared in a p2p network and other peers can access the data using the id of the store (store.id).

let store = DKV.from(ipfs, 'bafyreibbbjhk7fnxplcc6fqb24jctxffgxoqv65466gbx73n3jbqyzn3ru')

DKV offers a simple interface for storing key/value pairs. Values can include links to other values recursively, giving you the ability to create complex graphs that de-duplicate commonly linked data.

let store = await DKV.empty(ipfs)
const pizza = await store.link({ type: 'food', name: 'pizza' })
store = await store.set('bob', { type: 'person', name: 'bob', favoriteFoor: pizza })

const bob = await store.get('bob')
await bob.favoriteFood() // { type: 'food', name: 'pizza' }

API

DKV.empty(ipfs, pin=true)

DKV.from(ipfs, cid, pin=true)

DKV.fromEntries(ipfs, entries, pin=true)

store.get(key)

store.set(key, value)

store.set(map)

store.del(key)

store.del(keys)

FAQs

Package last updated on 10 Oct 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts