# PeachCloud & scuttle-go _10:00 UTC+2_ _Tuesday, 11 October 2022_ **Attendees** - glyph - boreq ----- **Questions for Discussion** What is required for PeachCloud to run a pub based on scuttle-go? - Feature additions to scuttle-go - Invite system - Create - Accept / use - EBT replication woohoo - Auto-magic connect with other room members? (other auto-magic?) - Any other necessary features still to be implemented? - Wrapping scuttle-go - Go code that wraps the scuttle-go library and allows it to be run as a daemon or CLI tool - What are the options here? - Query interface - How can the scuttle-go daemon be queried from PeachCloud (using Rust)? - Is there some sort of minimal MUXRPC interface? - Which methods will be exposed? **Notes** - acts as a client - standard library of ssb code - might use rpc layer to a separate repo - application-level code - pub has some extra code on top of this - e.g. updating the social graph based on contact messages - two programs with a lot of shared code: node vs pub - service/domain code is largely the same - flesh-out the code in the main repo first - separate client and pub - one week away from a test on a phone - added some basic ebt - no real docs on how it's supposed to work in ssb (implementation specific) - can connect to peers and get messages (ebt.connect) - doesn't currently implement caching etc. - lack of specs is a big problem - advantages: lowever overhead (not having to start so many streams), data is more compact - disadvantages: can't just ask for friend feeds first - wrap up of features first and then clean-up and think about how to run a pub - previouly: predefined read / view models - planetary has always used sqlite (complicated view models); put all the messages in there - separate read model which is client-specific - simple db stores all messages; gets contact messages etc. - go-ssb: receive log (each new message gets a new id, ever increasing) - scuttle-go will just have a pubsub (for reindexing etc) - db stores messages, feeds (lists of msg ids), read model for social graph (needed for replication), list of pubs, tries to identify blobs - next steps - split codebase into 2 separate implementations - pub - client node - 95 percent will be the same - don't want to make a mess with feature flags - also separate the library - rest api for pub - a single application could foreseeably serve multiple pubs - e.g. spin up 3 separate pubs - list of things that are needed for peachcloud - share this with boreq