Warning
This library is a work in progress. Things will change. Things are incomplete. Things will break. Until the project reaches version 1.0.0, stability will not be guaranteed.
rsky (/ˈrɪski/) is intended to be a full implementation of AT Protocol in the Rust language. Most of the code here are general purpose implementations while some (like rsky-feedgen) are specific to the use cases of the Blacksky community.
Rust Crates:
Crate | Docs | crates.io |
---|---|---|
rsky-crypto : cryptographic signing and key serialization |
README | |
rsky-identity : DID and handle resolution |
README | |
rsky-lexicon : schema definition language |
README | |
rsky-syntax : string parsers for identifiers |
README |
Rust Services:
rsky-pds
: "Personal Data Server", hosting repo content for atproto accounts. It differs from the canonical Typescript implementation by using Postgres instead of SQLite, s3 compatible blob storage instead of on-disk, and mailgun for emailing. All to make the PDS easier to migrate between cloud hosting providers and more maintainable.rsky-feedgen
: Bluesky feed generator that closely follows the use cases of the Blacksky community.rsky-firehose
: Firehose consumer.
The Authenticated Transfer Protocol ("ATP" or "atproto") is a decentralized social media protocol, developed by Bluesky PBC. Learn more at:
- Overview and Guides 👈🏾 Best starting point
- Github Discussions 👈🏾 Great place to ask questions
- Protocol Specifications
- Blogpost on self-authenticating data structures
- Feedgen and firehose consumer
- PDS implementation
- Frontend bluesky client
- Feedgen admin client
Become a backer and get your image on our README on GitHub with a link to your site.
We welcome contributions from the community to help us improve and expand rsky. If you're interested in contributing, please feel free to submit issues or pull requests on the GitHub repository. We appreciate your support!
Rules:
- We'll try our best but may not respond to your issue or PR.
- We may close an issue or PR without much feedback.
- We may lock discussions or contributions if our attention is getting DDOSed.
- We do not provide support for build issues.
Guidelines:
- Strict adherence to our Code of Conduct
- Implementations should follow closely to the canonical Typescript implementation
- Check for existing issues before filing a new one, please.
- Open an issue and give some time for discussion before submitting a PR.
- Stay away from PRs that:
- Refactor large parts of the codebase
- Add entirely new features without prior discussion
- Change the tooling or frameworks used without prior discussion
- Introduce new unnecessary dependencies
rsky is released under the Apache License 2.0.