-
Notifications
You must be signed in to change notification settings - Fork 160
/
en.mdx
137 lines (98 loc) · 6.95 KB
/
en.mdx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
import { Guides } from '@/components/Guides'
import { Specs } from '@/components/Specs'
import { HeroPattern } from '@/components/HeroPattern'
import { Firehose } from '@/components/Firehose'
import { CodeCard } from '@/components/CodeCard'
import { ImageCard } from '@/components/ImageCard'
import { ArticleSummary, ArticleSummarySmall } from '@/components/ArticleSummary'
import { UserIcon } from '@/components/icons/UserIcon'
import WebWithoutWallsPng from '@/images/media/web-without-walls.png'
import DotMediaInterviewPng from '@/images/media/dotmedia-interview.png'
import WhitepaperPng from '@/images/media/whitepaper.png'
import HowDoesBlueskyWorkBlogpostPng from '@/images/media/how-does-bsky-work-blogpost.png'
export const metadata = {
title: 'AT Protocol',
description:
'The AT Protocol is an open, decentralized, and high-performance network for building social applications.',
}
export const sections = []
<HeroPattern />
# Welcome to the Atmosphere
The AT Protocol is an open, decentralized network for building social applications. {{ className: 'lead' }}
<div className="not-prose mb-16 mt-6 flex gap-3">
<Button href="/guides/applications" arrow="right">
<>Quickstart</>
</Button>
<Button href="/sdks" variant="outline">
<>Explore SDKs</>
</Button>
</div>
{/* TODO <Row>
<Col>
<Firehose />
</Col>
<Col>
<CodeCard description="Single Sign-On in 5 minutes." href="/todo" icon={UserIcon}>
```js {{containerClassName: 'rounded-t-none !my-0 border-t border-zinc-900/7.5 dark:border-white/10 !ring-0'}}
import { BrowserOAuthClient } from '@atproto/oauth-client-browser'
const client = new BrowserOAuthClient()
await client.signIn('my.handle.com', {
state: 'some value needed later',
prompt: 'none', // Attempt to sign in without user interaction (SSO)
ui_locales: 'fr-CA fr en', // Only supported by some OAuth servers (requires OpenID Connect support + i18n support)
signal: new AbortController().signal, // Optional, allows to cancel the sign in (and destroy the pending authorization, for better security)
})
```
</CodeCard>
</Col>
</Row> */}
<Guides />
<Specs />
{/* TODO
---
## A Web of Data {{className: 'text-2xl mt-2 scroll-mt-32'}}
The Atmosphere is a web of interconnected data. It is the porous membrane through which posts, profiles, and comments flow. It is a network of databases working in conjunction to provide one global database - a tool for people to communicate with each other through data.
The purpose of the Atmosphere is to run social applications at scale. It's designed for real-world applications with hundreds of millions of users. The Bluesky app has 6mm registered users and 500k DAU, and runs at roughly the same cost-efficiency as traditional applications.
The vision and mission of the Atmosphere is to make it easy for people to build. Whether you're a weekend hacker or building a startup, you should have access to a social network to build upon. The joy of social programming should be available to everyone.
<Button href="/quickstart" arrow="right">
<>Keep reading</>
</Button> */}
## Learn more
<div className="xl:grid grid-cols-2 gap-12 xl:max-w-none border-t border-zinc-900/5 dark:border-zinc-700 pt-10 mt-4">
<ArticleSummary tag="Guide" title="Glossary of terms" href="/guides/glossary" >
What's a PDS? an AppView? a DID? If you're feeling a little bowled over by new concepts, give this glossary a look.
</ArticleSummary>
<ArticleSummary tag="Guide" title="The fast intro to building on ATProto" href="/guides/applications" >
In this guide, we build a simple multi-user app that publishes your current "status" as an emoji.
</ArticleSummary>
{/* TODO <ArticleSummary tag="Article" title="What happens when I like a post?" href="/articles/todo" >
To get started, create a new application in your [developer settings](#), then read about how to make requests for the resources you need to access using our HTTP APIs or dedicated client SDKs. When your integration is ready to go live, publish it to our [integrations directory](#) to reach the Protocol community.
</ArticleSummary> */}
<ArticleSummary tag="Article" title="ATProto for distributed systems engineers" href="/articles/atproto-for-distsys-engineers" >
In this article we explore AT Proto from the perspective of distributed backend engineering.
</ArticleSummary>
{/* <ArticleSummary tag="Guide" title="How do user identities work?" href="/guides/identity" >
What are DIDs and handles? How are domain names involved? How do the identities get resolved to user data? This guide will introduce all these concepts and explain how identity works in the Atmosphere.
</ArticleSummary> */}
<ArticleSummary tag="Guide" title="What is Lexicon, and how do I use it to make a schema?" href="/guides/lexicon" >
This guide will introduce you to Lexicon and get you started with building your own schemas.
</ArticleSummary>
</div>
<div className="flex flex-col xl:grid grid-cols-3 gap-12 xl:max-w-none border-t border-zinc-900/5 dark:border-zinc-700 pt-10 mt-4">
<ImageCard image={WebWithoutWallsPng} href="https://www.youtube.com/watch?v=F1sJW6nTP6E" title="Web Without Walls - Talk at React Universe 2024" tag="Talk" description="An introduction to the AT Protocol presented by Dan Abramov at React Universe Conf 2024" />
<ImageCard image={DotMediaInterviewPng} href="https://flipboard.video/w/ophhJTECuL7fcBNbUitV3q" title="Make Identity Central Again, with Bluesky's Jay Graber" tag="Interview" description="An interview between Jay Graber and Flipboard CEO Mike McCue about making social more like the Web." />
<ImageCard image={WhitepaperPng} href="https://arxiv.org/abs/2402.03239" title="Bluesky and the AT Protocol: Usable Decentralized Social Media" tag="Whitepaper" description="A whitepaper authored by Martin Kleppman and the AT Protocol team." />
{/* <ImageCard image={TbdIntervewJpg} href="https://www.youtube.com/live/D5WVK7KfTAk" title="Building the Social Internet with Bluesky's AT Protocol" tag="Interview" description="An interview between Dan Abramov and TBD about how the dotmedia Protocol works.png" /> */}
{/* <ImageCard image={HowDoesBlueskyWorkBlogpostPng} href="https://steveklabnik.com/writing/how-does-bluesky-work/" title="How does Bluesky work?" tag="Community Blogpost" description="A blog post by Steve Klabnik describing how Bluesky and ATProto work at a high level." /> */}
</div>
{/* ## Community
<div className="xl:grid grid-cols-3 gap-12 xl:max-w-none border-t border-zinc-900/5 dark:border-zinc-700 pt-10 mt-4">
<ArticleSummarySmall href="https://steveklabnik.com/writing/how-does-bluesky-work/" title="How does Bluesky work?">
by Steve Klabnik
</ArticleSummarySmall>
<ArticleSummarySmall href="https://bolsonism.blogspot.com/2024/08/local-development-with-at-proto-pds.html" title="Local Development with a PDS">
Using docker and curl to interact with a local PDS.
</ArticleSummarySmall>
</div> */}
## Looking for the Bluesky API docs?
Go to [docs.bsky.app](https://docs.bsky.app) for Bluesky-specific documentation.