Nostr 初めてみた NIP-05

イーロンマスクはただのレイオフおじさんになるかとおもいきや、世の中レイオフ祭になるし、サードーパーティークライアントがBANされるし大変な世の中ですね。
TweetBot一筋だった私はもうTwitter実質引退で、2週間くらいまともにTwitterをみていません。

Mastodon

先日GoToSocialというMastodonと同じプロトコルを使えるツールを入れてみたというnoteを書きました。Twitter 亡き今、わたしのメインアカウントはGoToSocialとなっています。

@wtr@wtr.app

です。

Nostr

というわけで、Nostrです。

Nostrについてはいろいろなブログに記事が出ているので見てみてください。

Nostr にもTwitterのバッジのようなシステムがありまして、NIP-05と呼ばれています。

設定方法

Nostrについて何もかいていないしあれなんですが、NIP-05の設定について書いてみます。

Nostrは共通のプロトコルとさまざまなクライアント(Damus)という風にわかれていて、プロトコルはNIPSと呼ばれています。

いろいろな仕様が定義されているのですが、その中のNIP-05 Mapping Nostr keys to DNS-based internet identifiers というのが Twitter のバッジに近い物になります。

  • ドメイン(サブドメイン含む)

  • .well-known/nostr.json というファイルをホスティングできる環境

    • CORSを設定できると最高

      • ウェブnostrクライアントがアクセスするときに問題になってきます。

1. 設定ファイルの作成

以下の内容を .well-knonw/nostr.json というファイル名で作る

{
  "names": {
    "ユーザー名": "公開鍵”
  }
}

このときユーザー名は基本的には_にしておくといいと思います。

公開鍵はnpubHOGEHOGEHOGEという形式ではなく、HEX形式と呼ばれる別の形式で書く必要があります。
npubHOGEHOGEからHEX形式への変換は

をつかうとできます。
私の場合は↓のようになります。

{
  "names": {
    "_": "ad2ccc9d215c694fba0fadd8984b0b8ecfc2ac45d070538302ff3c02e12e36e6"
  }
}

このファイルを https://wtr.app/.well-known/nostr.json に設置しました。
また、Github Pagesを使う場合は、_config.ymlに以下のファイルを作ると使えるらしいです。

include: [".well-known"]

2.  CORSの設定

例によって,RPi で動いている自宅サーバーに設定したので、
traefikで以下のようにdocker-compose.ymlで設定しました。

  - "traefik.http.middlewares.cors.headers.accessControlAllowOriginList=*"
  - "traefik.http.middlewares.cors.headers.addvaryheader=true"
  - "traefik.http.routers.front.middlewares=cors"

3. 設定

Damusやiris.to snortなどの設定画面で NIP-05 とかかれているところがあるので,_@ドメイン名 を入力するとドメイン名のバッジがつくようになります。

という感じで,バッジがつくようになりました。

ユーザー名を_にすると、そのドメインの管理者としてのバッジとなります。一つのドメインで複数のユーザーにバッジを設定したいというような要件ではない場合は、_でいいと思います。
組織として、バッジを設定するよ!という場合は、それぞれのpubキーを書いて設定すればいいかなと。↓みたいなかんじですね。これを note.com/.well-known/nostr.json みたいに設置できたら、Alice@note.com, Bob@note.comみたいな感じでバッジが付くようになります。

{
  "names": {
    "Alice": "Pub Key 1",
    "Bob": "Pub Key 2",
    "Charlie": "Pub Key 3"
  }
}


私のIDはこれです。フォローおねがいします。

npub145kve8fpt355lws04hvfsjct3m8u9tz96pc98qczlu7q9cfwxmnqttjrkd
https://snort.social/p/npub145kve8fpt355lws04hvfsjct3m8u9tz96pc98qczlu7q9cfwxmnqttjrkd

この記事が気に入ったらサポートをしてみませんか?