a single p2p private group, containing storage and application layer data
Kieran Gibb 0f47aaa554
pin to gitlab
2 years ago
lib use cobox-keys to load and save encKey, default derive from parent_key 2 years ago
test use cobox-keys to load and save encKey, default derive from parent_key 2 years ago
.gitignore add tmp to .gitignore 2 years ago
LICENSE stuff 2 years ago
README.md pin to gitlab 2 years ago
index.js temporary comment encoder while fixing indexes 2 years ago
package.json pin to gitlab 2 years ago
util.js add a test for appending to the local log feed 2 years ago



Group class for cobox. Wraps KappaDrive in a custom encryption scheme for content encryption, enabling blind replication.

yarn add cobox-group


const Group = require('cobox-group')

var group = Group(storage, key, opts)

Returns a group object

  • storage - path for storing feed data. Defaults to random-access-file
  • key - the group key (which may be a compound key containing a symmetric encryption key)
  • opts an options object, which may contain:
    • opts.config a config object from cobox-config

Blind Replicator logic is exported as a separate function, to prevent empty indexes being created and run.

const { Blind } = require('cobox-group') var group = Blind(storage, key, opts)


callback is called when the group is ready to use.


A master key for key derivation, to generate context specific keypairs for signing hypercores.


An object with properties address and encryptionKey as detailed below.


The address or public key for the group


Random 32 byte key used to derive encryption key.


Your KappaDrive instance


An interface to query your group drive changes, built with kappa-view-query.


An additional hypercore for storing group-specific messages.


An interface to query your group log, built with kappa-view-query.


Swarm across either Hyperswarm, or Discovery Swarm, based on opts.


Returns the cumulative size of all of the groups feeds. Cannot be run before group is ready. Note that this is only the size of the data in the feeds, in reality a little more disk space is used to store keys, etc.


We’ve retired the command-line interface to a separate package, as cobox-server now exports a CLI and handles managing multiple groups.

It is still available here.