Found this in my GitHub recommendations, I thought I post it and ask if we could use it or parts of its source code to develop federation on Lemmy. Any thoughts?
I doubt it. Rustodon hasn’t seen active development for a while. And if I remember correctly, they hadn’t implemented federation yet.
Parts of it might be, but the one I’m using rn is the crate activitypub crate, which has all the primitives typed out.
Do you have a link? I’m very curious about how Rust handles some of the particularities of the jsonld marshaling of activitypub objects. In Go, this proved to be the biggest headache I had.
[edit] Nevermind the link, I managed to find it myself. However I see that this includes just the vocabulary, nothing about S2S/C2S activity processing, validation, or authorization.
For a very broad approach to this processing step, you can take a look at my github.com/go-ap/processing package, which has some basic interactions already implemented - mainly for C2S, but they can serve as an inspiration for S2S too. They are mapped pretty closely to the spec, as I wanted that someone that’s familiar with the spec can find their way pretty quickly.
Ya I know a lot of the validation is built custom, most of it in ruby right now. There aren’t any rust libraries to help with that, but its still doable.