sugyan / atrium

Rust libraries for Bluesky's AT Protocol services.
MIT License
153 stars 15 forks source link

Plans for an atrium PDS? #78

Open erlend-sh opened 10 months ago

erlend-sh commented 10 months ago

Now that Bluesky is becoming properly federated

..are you planning to set up an atrium-based PDS? If so, consider my hand raised as a volunteer for testing ✋

My main interest is the intersection of ATproto and ActivityPub. There’s one Rust project in particular that is exploring this space in an interesting way:

sugyan commented 10 months ago

As mentioned in #19, atrium-based PDS sounds interesting and is an issue I would like to try, but now nothing has been done yet. I think it will probably take a very long time to proceed with it as my hobby project because I don't have enough time to spare...

str4d commented 6 months ago

Relevant summary of what a PDS implementation needs to do: https://github.com/bluesky-social/atproto/discussions/2350

DrewMcArthur commented 3 months ago

i'm curious about implementing a PDS in rust - from what i can tell, your client library is constructed by parsing the atproto lexicon and generating code that makes http calls with the correct bodies. so com.atproto.server.create_account(...) is just a generated wrapper for GET /xrpc/com.atproto.server.create_account ... etc.

implementing a server would be more involved, since you'd have to implement each method (e.g. adding a new user to a DB), and then generate code to wire the xrpc/http calls from NSID to an actual method? would a library like tarpc make sense to use, or something like that? or am i totally off base? any thoughts to steer me in vaguely the right direction?

erlend-sh commented 3 months ago

@rudyfraser has been working on a rusty PDS here: https://github.com/blacksky-algorithms/rsky/tree/pds