Modules

Isaac Schlueter (creator of npm) puts it very well: agreement is very difficult, so limit the amount of agreement necessary.

i.e. write modules.

With less agreement required, it's easier to find points of agreement, and so we can have more agreements overall.

Secure-scuttlebutt vs scuttlebutt vs scuttlebot vs sbot?

An explanation of terms, repos and project history

  • scuttlebutt: a gossip protocol that synchronises messages via a vector clock of per-node timestamps or sequences. Dominic got this name from an amazon paper "Efficient Reconciliation and Flow Control for Anti-Entropy Protocols". This is the original scuttlebutt module which should now be known as "insecure scuttlebutt". This repo is generally no longer used by the ssb community.

  • secure-scuttlebutt: this is the database part of ssb. Previously this term referred to the protocol/database as a whole.

  • scuttlebot: this repo adds networking behaviour to the database (secure-scuttlebutt).

  • sbot: short for scuttlebot, also the cli command name.

There have been suggestions to rename some repos to better reflect their use and purpose:

secure-scuttlebutt --> ssb-db scuttlebot --> ssb-server

Streams

  • pull-stream: minimal composable streams with lazy back pressure and error propagation
  • mutant: lazy observables and reactive html elements

Modules

  • depject: a module system that allows for overlapping opinions

Database

secure-scuttlebutt: database of unforgable append-only feeds, optimized for efficient peer-to-peer replication

  • flumedb: modular database where logs are moved with streams
  • ssb-keys: keyfile operations for ssb
  • ssb-feed: create a secure-scuttlebutt feed
  • ssb-config: standard configuration for ssb
  • ssb-ref: check if a string is a valid ssb-reference

Crypto

  • secret-handshake: secure-channel based on a a mutually authenticating key agreement handshake, with forward secure identity metadata.
  • private-box: private message between two parties (with no to field)

Server

scuttlebot: peer-to-peer log store used as a database, identity provider, and messaging system

  • muxrpc: lightweight multiplexed rpc
  • mdmanifest: markdown manifests for mux rpc apis
  • muxrpcli: command-line interface to mux rpc servers
  • secret-stack: connect peers to each other using secret-handshakes
  • ssb-query: a functional query engine, that operates over streams of js objects, and can be optimized via database indexes.
  • ssb-blobs: blob gossiping ssb-subprotocol
  • multiblob: a content-addressable-store that supports multiple hashing algorithms
  • ssb-ebt: replication with epidemic-broadcast-trees
  • easy-ssb-pub: an easy-to-host server that runs an SSB "Pub"

Client

  • patchcore: a shared library to build ssb apps
  • ssb-client: client library to scuttlebot
  • ssb-party: get a scuttlebot client instance. if scuttlebot isn't running, start it in the background, and keep it running until all the clients have disconnected.
  • ssb-notifier: desktop notifications for secure-scuttlebutt activity
  • ssb-avatar: query for the avatar that an ssb feed has been assigned
  • ssb-mentions: extract the mentions in a ssb message
  • ssb-markdown: render ssb messages to markdown.
  • ssb-sort: sort a collection of messages by their causal order

Git

  • git-ssb: Git repos, issue tracking, and pull requests using SSB

results matching ""

    No results matching ""