···11-Welcome to at://advent! An atproto adventure to learn [atproto](https://atproto.com/) in an interactive and
11+# Welcome to at://advent!
22+33+An atproto adventure to learn [atproto](https://atproto.com/) in an interactive and
24hopefully fun way in the style of advent of code.
3546The majority of these challenges can be done without writing any code, but using community tooling. But you may find
···1416 turn on developer mode for the more advance options.
15171618We are going to start simple. Everyone knows they have a handle, but `did` you know you also have a unique id called a
1717-[did](https://atproto.com/specs/did). This is a unique identifier for your identity that never changes. This comes in
1919+[did](https://atproto.com/specs/did)? This is a unique identifier for your identity that never changes. This comes in
1820two flavors for atproto [did:plc](https://web.plc.directory/)
1919-and [did:web](https://atproto.com/specs/did#did-web-in-at-protocol).
2020-Each one have a unique way to find something called a [DID document](https://atproto.com/specs/did#did-documents). Your
2121-did document holds various information about your identity. Things like where does your PDS live, the key that signs
2222-your repo, handle, and more.
2121+and [did:web](https://atproto.com/specs/did#did-web-in-at-protocol). Before you can make calls to the user's PDS you
2222+need to know their did as well as the DID doc.
23232424-# plc
2424+But first the did. You can find the did from a handle in one of 2 ways. Via an HTTP request to the url
2525+`./well-known/atproto-did`, this is
2626+how
2727+the `.bsky.social` handles work. An example would
2828+be [jcsalterego.bsky.social/.well-known/atproto-did](https://jcsalterego.bsky.social/.well-known/atproto-did). Or via a
2929+DNS TXT record at `_atproto`. If your handle is `iloveatproto.com`, then it would be at `_atproto.iloveatproto.com`. If
3030+it was `alice.iloveatproto.com`, it would be at `_atproto.alice.iloveatproto.com`.
25312626-talk about where to find the PLC
2727-2828-# did:web
2929-3030-talk about how to find your did:web (altho you probably already know this)
3131-3232-Hey! Welcome to at://advent! A 25 day challenge to learn atproto with a new set of challenges every day.
3333-3434-(Pretend this is going into more details explaining everything)
3232+To complete the first challenge, please enter your did below in the input box.
35333636-Starting out simple, create a record at the collection `codes.advent.challenge.day`
3737-with the record key `1` and put this as the record.
3838-3939-```json
4040-{
4141- "$type": "codes.advent.challenge.day",
4242- "partOne": "{{code}}"
4343-}
4444-```
45344635[//]: # (<input type="file" id="part_one_input" placeholder="Enter your code here" />)
+15-1
shared/challenges_markdown/one/part_two.md
···11+Great job beating Part 1! Now onto Part 2.
22+13This will be submitting their public verification code from the did doc since each did doc will have one.
2433-Great job beating Part 1! Now onto Part 2.
55+Each one has a unique way to find something called a [DID document](https://atproto.com/specs/did#did-documents). Your
66+did document holds various information about your identity. Things like where does your PDS live, the key that signs
77+your repo, handle, and more.
88+99+explain where to find the did document for each did
1010+1111+# plc
1212+1313+talk about where to find the PLC
1414+1515+# did:web
1616+1717+talk about how to find your did:web (altho you probably already know this)
418519Keeping it simple proof of concept, blah, blah will have a real one here another time. Add a new field `partTwo` to the
620record with the value `{{code}}`
···331331 Options {
332332 parse: Default::default(),
333333 compile: CompileOptions {
334334- //Setting this to allow HTML in the markdown. So pleas be careful what you put in there
334334+ //Setting this to allow HTML in the markdown. So please be careful what you put in there
335335 allow_dangerous_html: true,
336336 ..Default::default()
337337 },