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()