diff --git a/apps/cory/docs/ssb.md b/apps/cory/docs/ssb.md new file mode 100644 index 00000000..b81a74c7 --- /dev/null +++ b/apps/cory/docs/ssb.md @@ -0,0 +1,33 @@ +# Secure Scuttlebutt from Scratch +[Back to index](#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](https://ssbc.github.io/scuttlebutt-protocol-guide/#local-network) +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. + +## 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](https://ssbc.github.io/scuttlebutt-protocol-guide/#handshake) +is once again a good reference. + +The box stream and RPC protocol can both be implemented from the +[same documentation](https://ssbc.github.io/scuttlebutt-protocol-guide/#box-stream) +without surprises. + +## Synchronizing Data +So now you're discovering other clients on the local network, connecting, performing +a secret handshake, and making remote procedure calls over box streams. The next step +is to start synchronizing feeds over the network. The goal, after all, is to author +messages in your local append-only log and have them show up in distant clients, or +vice versa. \ No newline at end of file diff --git a/apps/cory/ssb/style.css b/apps/cory/ssb/style.css new file mode 100644 index 00000000..b96aa6b5 --- /dev/null +++ b/apps/cory/ssb/style.css @@ -0,0 +1,4 @@ +img { + max-width: 33%; + max-height: 33%; +} \ No newline at end of file