4 ms·
Is ATProto fully implementable by third parties? I last read there were still closed source parts
by oDot 2y ago
Is ATProto fully implementable by third parties? I last read there were still closed source parts
- verdverm 2y agoGenerally, the core components are open source. There are a few things like private DMs and mutes that do not get saved to your PDS, but are accessible with an authenticated client. The open source PDS implementation is still beta auiu. There is a limit of 10 accounts per server while it gets tested in the wild, last I saw One thing to consider is that you do not have to reimplement the entire spec if you are only interested in building a feed or recommendation system. ATproto makes the core components plug-n-play, so users can use the Bluesky app while picking 3rd party providers for moderation and algo feeds There is also an independent group with their own governance working to define a number of common lexicons for shared usage across applications https://github.com/lexicon-community/lexicon https://github.com/lexicon-community/lexicon
- xeonmc 2y agoIs it possible to implement a functional subset of just serving one’s own DID identities using serverless functions? Then that would enable every average Joe to make their own with Cloudflare Pages Workers
- verdverm 2y agoYou shouldn't need that much for a single DID. If you want to serve an org DID, like a bunch of users under the same domain, you need to do something like this. https://atproto.com/guides/identity https://atproto.com/guides/identity
- xeonmc 2y agowhere are you supposed to put the DID document on your domain? All documentation describes putting the .well-known/atproto-did file but not the actual DID document.
- verdverm 2y agoFrom https://atproto.com/specs/handle https://atproto.com/specs/handle section "HTTPS well-known Method" It is unclear where the handle query goes However, you don't need a document per day. It can be dynamically generated by a handler or server less function on that route. This is important as employees at an org change, this information could be obtained from a database You can for example: `curl https://verdverm.bsky.social/.well-known/atproto-did https://verdverm.bsky.social/.well-known/atproto-did` So for an organization, one might have a single handler responding to `*.atproto.company.com/.well-known/atproto-did` with the subdomain becoming the primary input variable
- xeonmc 2y agono, like I said I already know that .well-known/atproto-did returns the DID value, but there doesn't seem to be any documentation for where the inquirer will next expect to fetch the actual DID document to complete the circular verification.
- verdverm 2y agoThis peer-thread might offer us some clues: https://news.ycombinator.com/item?id=42750241 https://news.ycombinator.com/item?id=42750241 `curl -s "https://plc.directory/$(curl https://plc.directory/$(curl -s https://verdverm.bsky.social/.well-known/atproto-did https://verdverm.bsky.social/.well-known/atproto-did)" | jq .`