+++ 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` [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を作ってみた。