Détail du package

key-collection

holepunchto3.5kApache-2.01.0.0

Hyperdb-based collection of 32-byte keys

key, collection, hyperdb

readme

Key Collection

A hyperdb-based collection of 32-byte keys.

Install

npm i -g key-collection

Usage

Create

key-collection sync <location>

Where <location> is the path of a yaml file structured like example.yml.

This will first sync the database with the yaml file, deleting and adding entries as required, and then seed the database.

Consume

const KeyCollection = require('key-collection')
const Corestore = require('corestore')
const Hyperswarm = require('hyperswarm')
const IdEnc = require('hypercore-id-encoding')

async function main () {
  const key = IdEnc.decode('your key here') // Fill in with the public key of the collection db, as printed in the previous step

  const store = new Corestore('key-collection-store')
  const core = store.get({ key })
  const keyColl = new KeyCollection(core)
  await keyColl.ready()

  const swarm = new Hyperswarm()
  swarm.on('connection', (conn) => {
    console.log('connection opened')
    store.replicate(conn)
  })

  swarm.join(keyColl.discoveryKey, { client: true, server: false })
  console.log(await keyColl.toMap()) // Note: will print an empty map the first time it runs, because it hasn't synced with the server yet
}

main()