75 lines
2.9 KiB
Markdown
75 lines
2.9 KiB
Markdown
|
+++
|
||
|
date = "2023-02-23"
|
||
|
tags = ["bluesky","atproto"]
|
||
|
title = "bsky.socialにアカウントを作ってみた"
|
||
|
slug = "bluesky-atproto"
|
||
|
+++
|
||
|
|
||
|
今回は、atp(at-protocol)のself-hostingではなく、`bsky.social`にaccountを作成してみました。優しい人が`bsky.social`の`invite-code`を発行してくれたので、嬉しい。
|
||
|
|
||
|
- `at://syui.bsky.social`
|
||
|
|
||
|
<iframe src="https://mastodon.social/@syui/109911470860430701/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400" allowfullscreen="allowfullscreen"></iframe><script src="https://mastodon.social/embed.js" async="async"></script>
|
||
|
|
||
|
[invite-code](https://gitlab.com/bnewbold/adenosine/-/blob/main/extra/adenosine-pds.1.md)は、こちらの資料がわかりやすいと思います。
|
||
|
|
||
|
rustで書かれた`adenosine`というclientが便利です。
|
||
|
|
||
|
- https://gitlab.com/bnewbold/adenosine
|
||
|
|
||
|
```sh
|
||
|
$ git clone https://gitlab.com/bnewbold/adenosine
|
||
|
$ cd !$:t
|
||
|
$ brew install cmake
|
||
|
$ cargo build
|
||
|
|
||
|
$ export ATP_HOST=https://bsky.social
|
||
|
|
||
|
$ ./target/debug/adenosine ls at://syui.bsky.social
|
||
|
at://syui.bsky.social/app.bsky.actor.profile
|
||
|
|
||
|
$ ./target/debug/adenosine ls at://syui.bsky.social/app.bsky.actor.profile
|
||
|
at://did:plc:uqzpqmrjnptsxezjx4xuh2mn/app.bsky.actor.profile/self
|
||
|
|
||
|
$ ./target/debug/adenosine get at://did:plc:uqzpqmrjnptsxezjx4xuh2mn/app.bsky.actor.profile/self
|
||
|
{
|
||
|
"cid": "bafyreihkjxz4tl36t5ofn74rsl4lglahdqnpprmbcuza2t5b5kfwysfehu",
|
||
|
"indexedAt": "2023-02-23T01:14:43.377Z",
|
||
|
"takedownId": null,
|
||
|
"uri": "at://did:plc:uqzpqmrjnptsxezjx4xuh2mn/app.bsky.actor.profile/self",
|
||
|
"value": {
|
||
|
"$type": "app.bsky.actor.profile",
|
||
|
"avatar": {
|
||
|
"cid": "bafkreid6kcc5pnn4b3ar7mj6vi3eiawhxgkcrw3edgbqeacyrlnlcoetea",
|
||
|
"mimeType": "image/jpeg"
|
||
|
},
|
||
|
"banner": {
|
||
|
"cid": "bafkreif5z5mbbubxuck3kn4fx7guqeznnlm4ujw7pseozn73p3k6czj5xa",
|
||
|
"mimeType": "image/jpeg"
|
||
|
},
|
||
|
"description": "",
|
||
|
"displayName": ""
|
||
|
}
|
||
|
}
|
||
|
```
|
||
|
|
||
|
atはprotocolでblueskyがserverに当たるのかな。
|
||
|
|
||
|
blueskyは主にserverのdomain-nameに当てられることが多い印象ですが、例えば、iosのclient-nameにも採用されているみたい。
|
||
|
|
||
|
間違ってるかもしれませんが、大体は下記のイメージを持っています。ns(name-server)は`bsky.app`なら`app.bsky`となります。
|
||
|
|
||
|
```sh
|
||
|
# https://atproto.com/specs/at-uri-scheme
|
||
|
at://syui.bsky.social/app.bsky.actor.profile
|
||
|
${proto}://${user}.${host}/${ns}.${req}
|
||
|
```
|
||
|
|
||
|
`at://did:plc:`は`.well-known`の仕組みに似てる感じなのかな、わかりません。基本的にはid(pubkey?)を参照するusernameより確実性、詳細性が高いものだと思われます。
|
||
|
|
||
|
### 追記
|
||
|
|
||
|
その後、なにか作りたくなったので、簡単なbotを作ってみた。
|
||
|
|
||
|
<iframe src="https://mstdn.syui.cf/@ai/109912885584302525/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="100%" allowfullscreen="allowfullscreen"></iframe><script src="https://mstdn.syui.cf/embed.js" async="async"></script>
|