You are reading content from Scuttlebutt
@mikey %Rkenf2YtjouPfOOzrHpzKPn150t3l8oJq+5dZ9/AXWo=.sha256

a Sunrise server sketch 🌅 🤖

@piet and i had a jam this afternoon to sketch out a potential #sunrise-choir (Rust) alternative to the current Scuttlebutt (JavaScript) server. keep in mind this is an extremely rough draft and there are no promises that we will make any actual progress on this.

2021-06-11-sunrise-choir-server-01.jpg
2021-06-11-sunrise-choir-server-02.jpg

in this sketch, each "block" (module) is an separate service (process) that communicates with other services via json-rpc (usually over ipc).

  • log-writer: appends messages to your Scuttlebutt log
  • indexer: reads your Scuttlebutt log, creates indexes, and efficiently responds to queries
  • connector: connects and disconnects to external peers (handles muxrpc and secret-handshake)
  • discoverer: finds possible connections (cache, log, lan, bluetooth, rooms, etc)
  • scheduler: schedules connections
  • socializer: decides who is allowed or denied from connecting or replicating
  • replicator: on new connections, request and handle replications
  • blobber: read and write blobs
  • graphql: expose a GraphQL interface for user-facing apps
  • (optional) service-resolver: resolve service names to addresses
  • (optional) configurator: something about configs

rather than modules implicitly depending on each other (i.e. the complex monkey-patching between ssb-server modules), we want each module to have an explicit message-passing interface. rather than using streams for everything, we want our interfaces to work without streams and to only use json-rpc subscriptions to send events that trigger method requests. we want to keep the Scuttlebutt-isms to a minimum, so for example muxrpc and secret-handshake is encapsulated in one place.

#rust #ssb-dev

User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
@mikey %ZM8CpXz4SRgGwm0YiTTisqqvIGZ9RHzow1G/C7Pmnrc=.sha256

Can I ask, what is story of #sunrise-choir?

good question! here's the genesis: %zv56AbE... 🌱

There was a team doing some work, no?

yes!

And it is still working?

uh, kinda yes, mostly no? maybe. 🤷

things happened outside of Scuttlebutt and people got busy with other things, as a whole the team lost momentum.

in the meantime @andrestaltz and @glyph have been doing amazing work to use #sunrise-choir code in production systems.

at the moment i have some fresh energy and am keen to breathe new energy into the project. if you want to contribute to the project, now is a probably a good time as ever to get amongst. 💜

User has not chosen to be hosted publicly
Join Scuttlebutt now