Skip to content

Latest commit

 

History

History
127 lines (99 loc) · 8.99 KB

modules.md

File metadata and controls

127 lines (99 loc) · 8.99 KB

Modules small hermies computer small hermies computer small hermies computer small hermies computer small hermies computer small hermies computer small hermies computer

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.

  • %88KMgyXpuyF1O1VtKjkycJ+R5j7sJ/DgFwLVAS19J4U=.sha256

stack concept outline:

stack concepts

stack module outline:

stack modules

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
  • depnest: commonly used depject helper

Database

ssb-db: database of unforgable append-only feeds, optimized for efficient peer-to-peer replication

Crypto

  • chloride: a cryptographic library for JavaScript environments, often wrappping libsodium.
  • 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

ssb-server: 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-validate: validate ssb messages, completely functionally
  • 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
  • ssb-serve-blobs: HTTP server to expose blobs
  • ssb-conn: automatically manage connections with peers
  • ssb-replicate: feed replication algorithm
  • ssb-friends: the logic around who to replicate or not
  • multiblob: a content-addressable-store that supports multiple hashing algorithms
  • ssb-ooo: out-of-order messages
  • ssb-ebt: replication with epidemic-broadcast-trees
  • pubs
    • easy-ssb-pub: an easy-to-host server that runs an SSB "Pub"
    • ssb-pub: easily host your own ssb pub in a docker container
  • rooms
    • ssb-room: easily host your own ssb room server in a docker container

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

Mobile

Git

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

App helpers

  • ssb-schema-definitions: Standardised schema definitions for ssb message types using is-my-json-valid
  • scuttle-shell: A system tray app for running Secure Scuttlebutt and providing sbot features to your local system
  • scuttle-poll: Create and vote on polls on ssb
    • ssb-poll-schema: Gives parsers and validators for all known schema versions of ssb-poll messages
  • scuttle-gathering: Returns a set of functions as an API for validating, building, publishing and reading records related to gatherings
  • scuttle-tag: Tag reading and manipulation plugin for secure scuttlebutt.
  • scuttle-blog: A helper module which covers all your ssb blog related needs from blog data
  • ssb-meme: Uses flumeview-search to build an index of all images names.
  • ssb-chat-core: All the core functionality used by scat
  • ssb-bot: conversational user interfaces for Scuttlebutt 🤖

Dev helpers

  • scuttle-playbook: A very opinionated but very convenient way to test Secure Scuttlebutt applications
  • ssb-utils: CLI utilities for use with Secure Scuttlebutt (SSB)