ATProto

Awesome ATProto¶
AT Protocol is a federated protocol for building social applications on an open, decentralized network
AT Protocol¶
References¶
- Glossary - Quick reference to AT Protocol terms.
- Lexicons, Pinned Posts, and Interoperability - Post-mortem about the evolution of lexicons and lessons learned.
- Quick start guide to building applications on AT Protocol - Guide to create a basic ATProto application.
Articles¶
- First impressions of Bluesky's AT Protocol - In-depth analysis of Bluesky's ATProto, highlighting its aim to create a decentralized social media architecture.
- Nostr and ATProto - Comparison of Nostr and ATProto, two decentralized social media protocols, exploring their origins, similarities, and differences.
- How decentralized is Bluesky really? - Critical examination of Bluesky's decentralization claims and its architectural challenges compared to established protocols.
- Reply on Bluesky and Decentralization - Reply to Christine Lemmer-Webber's thoughtful (and widely read) "How decentralized is Bluesky really?" blog post.
- What is atproto.com good for? - Technical exploration of ATProto's design principles, architectural challenges, and potential limitations as a decentralized social media protocol.
- The AT Protocol Architecture - Analysis of the ATProto's architecture.
- Notes on Running a Full-Network atproto Relay (July 2024) - Experience about running an ATProto relay.
Browsers¶
- PDSls - ATProto repositories browser.
- ATProto Browser - ATProto URIs browser.
Platforms¶
- Bluesky - The beloved social network and main ATProto platform.
- Blue Place - Massive real-time collaborative canvas.
- Bookhive - Goodreads alternative.
- Frontpage - Federated link aggregator.
- GrayHaze - Live streaming service (alpha).
- Linkat - Link in bio for Bluesky.
- Pastesphere - Pastebin alternative.
- Picosky - ATProto chatting appview.
- PinkSea - Oekaki BBS.
- recipe.exchange - Cooking recipes sharing.
- Skylights - Book reviews.
- Smoke Signal - Event creation and managing.
- Sparta Social - Exercise activity tracker (wip).
- Whitewind - Markdown blog service using ATProto with no registration required.
Bluesky¶
- ClearSky - Tool to explore Bluesky accounts.
- cleanfollow - Select inactive or blocked accounts to unfollow.
- Handles directory - Handles ranking by TLDs.
- Labellers - List of known labellers.
- BluSki account history-%3E%5B0%5D+as+date,+COUNT()/FROM+4/++WHERE+%5Btype%5D+=+%22app.bsky.feed.post%22/++GROUP+BY+createdAt-%3Esplit('T')-%3E%5B0%5D/ORDER+BY+COUNT()+DESC/%60%60%60//%23%23+5+days+of+love:+more+likes+gifted+to+others//%60%60%60SQL/SELECT+TOP+5+createdAt-%3Esplit('T')-%3E%5B0%5D+as+date,+COUNT()/FROM+4/++WHERE+%5Btype%5D+=+%22app.bsky.feed.like%22/++GROUP+BY+createdAt-%3Esplit('T')-%3E%5B0%5D/ORDER+BY+COUNT()+DESC/%60%60%60//%23%23+10+favourite+accounts//%60%60%60SQL/SELECT+TOP+10+subject-%3Euri-%3Esplit('at:%2F%2F')-%3E%5B1%5D-%3Esplit('%2F')-%3E%5B0%5D+as+did,+COUNT()+AS+likes/FROM+4/++WHERE+%5Btype%5D+=+%22app.bsky.feed.like%22/++GROUP+BY+subject-%3Euri-%3Esplit('at:%2F%2F')-%3E%5B1%5D-%3Esplit('%2F')-%3E%5B0%5D/ORDER+BY+COUNT()+DESC/%60%60%60//%23%23+Who+are+these+people%3F//Account+history+file+refers+to+other+accounts+with+hexadecimal+DID,+which+as+you+see+above+isn't+that+readable.//No+sweat,+BluSki+has+a+service+to+resolve+DID+to+account+name%2Fhandle%2Finfo.+Here+you+go.//%60%60%60JavaScript/Promise.all(8.map(async+entry+=%3E+%7B/++const+profile+=+await+fetch('https:%2F%2Fpublic.api.bsky.app%2Fxrpc%2Fapp.bsky.actor.getProfile%3Factor='+%2B+entry.did).then(x+=%3E+x.json());/++return+%7B/++++did:+profile.did,+handle:+profile.handle,+displayName:+profile.displayName,/++++likesCount:+entry.likes,/++++postsCount:+profile.postsCount,/++++...profile/++%7D;/%7D))/%60%60%60//%23%23+10+accounts+getting+most+reply+traffic//%60%60%60SQL/SELECT+TOP+10+reply-%3Eparent-%3Euri-%3Esplit('at:%2F%2F')-%3E%5B1%5D-%3Esplit('%2F')-%3E%5B0%5D+as+did,+COUNT(*)+AS+replies/FROM+4/++WHERE+%5Btype%5D+=+%22app.bsky.feed.post%22+AND+reply+AND+reply-%3Eparent-%3Euri/++GROUP+BY+reply-%3Eparent-%3Euri-%3Esplit('at:%2F%2F')-%3E%5B1%5D-%3Esplit('%2F')-%3E%5B0%5D/ORDER+BY+COUNT(*)+DESC+/%60%60%60//And+again,+with+names+and+extra.//%60%60%60JavaScript/Promise.all(10.map(async+entry+=%3E+%7B/++const+profile+=+await+fetch('https:%2F%2Fpublic.api.bsky.app%2Fxrpc%2Fapp.bsky.actor.getProfile%3Factor='+%2B+entry.did).then(x+=%3E+x.json());/++return+%7B/++++did:+profile.did,+handle:+profile.handle,+displayName:+profile.displayName,/++++repliesCount:+entry.replies,/++++postsCount:+profile.postsCount,/++++...profile/++%7D;/%7D))/%60%60%60//) - Editable notebook to analyze a Bluesky account.
- Starter Packs - Search Bluesky starter packs and profiles.
- PDS self-hosting - Self-hosting a Bluesky PDS means running your own Personal Data Server that is capable of federating with the wider ATProto network.
- Bluesky-powered comments for any website - Embed Bluesky comments on your website easily (announcement).
For more Bluesky tools, check Awesome Bluesky, a more exhaustive list of tools and clients available for Bluesky.
Tools¶
- ATFile - Store and retrieve files on the ATmosphere.
Lexicons¶
Lexicon is a schema definition language used to describe atproto records, HTTP endpoints (XRPC), and event stream messages.
Find below each platform's lexicons:
- ATFile
- Bluemoji
- Bluesky
- Bookhive
- Frontage
- GrayHaze
- Linkat
- Pastesphere
- Picosky
- PinkSea
- place.blue
- recipe.exchange
- Skylights
- Skymdb
- Smoke Signal
- Sparta Social
- Whitewind
Contributing¶
Contributions welcome! Read the contribution guidelines first.