glyph this sounds really exciting, thanks for writing it up. I’m a little confused about how all the repos will work together and I would love to understand better. It sounds like golgi is a layer on top of kuska, and kuska is a layer on top of go-sbot? It almost sounds like golgi and kuska are performing the same job. How are they different?
fantastic update! Looking forward to playing with peachcloud :D
glyph thanks this helps a lot! I think the part I was missing in my brain is that go-sbot is a server, and you need a client to interact with it (although one could bind to it via FFI, but you are not going that route). So the architecture is something like:
kuska: low-level client lib
golgi: high-level client lib
TBD: application binary that talks to golgi.
I love to see Rust creeping into the ecosystem more and more!
Oof, I screwed up the markdown on that last part. Should be:
- go-sbot: server
- kuska: low-level client lib
- golgi: high-level client lib
- TBD: application binary that talks to golgi.
E: This looks like a really neat project!
Just a few (probably dumb) questions.
Does this (and therefore Kuska), require a separate sbot running, or does it implement server code itself? And can it connect to a Go SSB server as well?
Is Kuska ready yet for actually implementing into a client right now? And do you have any sort of timeline for when Golgi will be ready for that?
Good luck on this project!
I'd like to ask a question to you folks since you were all in that previous meeting that talked about adding FFI hooks to Go-based sbotcli.
From my understanding, I can see that PeachCloud client will be built with Rust connecting via Golgi to the go-ssb server. Now, where does the FFI sbotcli is used in PeachCloud? Maybe it isn't used at all, I'm just trying to understand how things fit together.
from the newsletter
I think I was sleepy when I read the newsletter, sorry.
We will be using Kuska / golgi in PeachCloud and not FFI. We were initially exploring the idea of using FFI but connecting via golgi offers some advantages (ie. not having to link against the Go build artifact, which involves some messiness in Rust).
makes total sense, thanks for explaining.