tildefriends/apps/docs/ssb.md

1.5 KiB

Secure Scuttlebutt from Scratch

Back to index

This aims to be the missing reference for those who wish to create a Secure Scuttlebutt client from scratch.

Discovery

A good way to get started is to participate in local network discovery with a known working client on the same network. The Scuttlebutt Programming Guide is a good start, here, with a few things to note:

  1. Some clients advertise multiple addresses separated by semicolons (;).
  2. Some clients advertise alternative protocols than shs and use hostnames instead of IPv4 addresses.

So be prepared to accept variations.

There also an undocumented "new" style of discovery message.

Secret Handshake, Box Stream, and RPC Protocol

Now that two clients are aware of eachother, they need to complete a secret handshake. The programming guide is once again a good reference.

The box stream and RPC protocol can both be implemented from the same documentation without surprises.

Synchronizing Data

... ebt.replicate or createHistoryStream ...

Rooms

TODO

References