Socket
Book a DemoInstallSign in
Socket

ssb-gossip

Package Overview
Dependencies
Maintainers
19
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ssb-gossip

ssb-server gossip plugin

latest
Source
npmnpm
Version
1.1.1
Version published
Maintainers
19
Created
Source

ssb-gossip

ssb-server gossip plugin

to have a peer to peer network, a ssb instance needs to have some other peers to connect with. This module keeps track of those peers. There are a number of ways a you can know about a peer,

  • observed a local udp broadcast from them ssb-server/plugins/local
  • received their device-address message ssb-device-address
  • received a pub message about them ssb-gossip/init
  • configured their address manually as a seed
  • or the user called gossip.add

Notice these are mostly managed by other plugins.

The gossip plugin then decides when to connect to those peers, which it does mostly randomly. (connecting randomly means you will eventually connect to everyone, thus a useful database property: eventual consistency)

peers: sync

Get the current known peers.

peers
peers(cb)

add: sync

Add a peer.

#add a multiserver address.
add {addr}
#legacy format
add --host {string} --port {number} --key {feedid}
add(addr, cb)
add({ host:, port:, key: }, cb)
  • addr (address string): A multiserver address
  • host (host string): IP address or hostname.
  • port (port number)
  • key (feedid)

remove: sync

Remove an address from the peer table.

remove {addr}
remove --host {string} --port {number} --key {feedid}
remove(addr)
remove({ host:, port:, key: })

ping: duplex

used internally by the gossip plugin to measure latency and clock skew

connect: async

Add an address to the peer table, and connect immediately.

connect {addr}
connect --host {string} --port {number} --key {feedid}
connect(addr, cb)
connect({ host:, port:, key: }, cb)
  • addr (address string): An address string, of the following format: hostname:port:feedid.
  • host (host string): IP address or hostname.
  • port (port number)
  • key (feedid)

changes: source

Listen for gossip events.

changes
changes()

Events come in the following forms:

{ type: 'discover', peer:, source: }
{ type: 'connect', peer: }
{ type: 'connect-failure', peer: }
{ type: 'disconnect', peer: }

reconnect: sync

Tell ssb-server to reinitiate gossip connections now.

enable: sync

Update the config to enable a gossip type.

enable {type}
enable(type, cb)
  • type (string): The type of gossip to enable: local, global, or seed. Default global.

disable: sync

Update the config to disable a gossip type.

disable {type}
disable(type, cb)
  • type (string): The type of gossip to enable: local, global, or seed. Default global.

License

MIT

FAQs

Package last updated on 26 Sep 2019

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