Socket
Book a DemoInstallSign in
Socket

@hyperswarm/replicator

Package Overview
Dependencies
Maintainers
3
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@hyperswarm/replicator

Replicates data structures easily using hyperswarm

latest
Source
npmnpm
Version
2.0.2
Version published
Maintainers
3
Created
Source

@hyperswarm/replicator

Replicate data structures easily using hyperswarm

Install

npm install @hyperswarm/replicator

Usage

You data structure has to support a .replicate() stream, then you can replicate them using the hyperswarm replicator.

const Replicator = require('@hyperswarm/replicator')

const r = new Replicator()

r.add(aHypercore, {
  live: true // passed to .replicate
})

API

r = new Replicator([options])

Make a new replicator. Options include:

{
  bootstrap: [...], // optional set the DHT bootstrap servers
}

promise = r.add(hyperDataStructure, [options])

Add a hyper* data structure to replicate.

{
  live: bool, // passed to .replicate
  upload: bool, // passed to .replicate
  download: bool, // passed to .replicate
  encrypt: bool, // passed to .replicate
  discoveryKey: <buf>, // optionally set your own discovery key
  announce: true, // should the swarm announce you?
  lookup: true, // should the swarm do lookups for you?
  keyPair: { publicKey, secretKey }, // noise keypair used for the connection
  onauthenticate (remotePublicKey, done) // the onauthenticate hook to verify remote key pairs
}

Promise resolves when the data structure has been fully added.

promise = r.remove(hyperDataStructure)

Remove a data structure from replication. Promise resolves when the data structure has been fully removed.

r.swarm

The associated hyperswarm instance.

r.on('discovery-key', (discoveryKey, remoteStream) => ...)

Emitted when a remote asks for a discovery key of a data structure you are not currently replicating.

r = Replicator.replicate(hyperDataStructure[s])

Easy "one off" replication of one or more data structures.

License

MIT

FAQs

Package last updated on 25 Feb 2021

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