You are reading content from Scuttlebutt
@aljoscha %AHqw230+Hlh/pg70nGrU+2SBPcDnOW97wVA8r4gwmZU=.sha256
Re: %eOgrGRIfP
  • Versioned plugins: Instead of just exchanging plugin names, exchange plugin names plus a version varint. All new versions must be backwards compatible, so if a plugin wants to talk to to ("foo", 4) a connection to ("foo", 7) is ok, but ("foo", 3) is insufficient. For breaking changes, use a new plugin name.
  • This whole plugin architecture (bpmux + multiserver + plugin management rpcs) is completely independent from ssb. Ssb would just be a loose collection of plugins that utilize the plugin architecture to exchange hsdt messages.
  • A consequence of this: Plugins can be application agnostic. You could write e.g. a gossiping plugin for creating overlay networks that could be used by ssb, but also by any other sort of application built upon the plugin platform.
Join Scuttlebutt now