Nostrのドメイン認証としてNIP-05認証がある。
無料でやる場合はGitHub Pagesが便利だが、Gitに慣れてないとワークフローが分かりづらいと思う。
というわけでCloudflare Pagesでやってみた。
Nostr.jsonを用意
nostr.jsonを次のような内容で作成する。ただし、自分のアカウントに合わせて変更する必要がある。
{ "names": { "nixeneko": "9a00ce174a1dcad4cc4925a475a7b89eedbf0e2aa2d03ad904fc64cdaef946fc" } }
ここで、"names"の中の左側は使いたい名前(英数字と-_.が使える)にし、右側はHEX表記の自分のアカウントの公開鍵を入力する(Irisなら設定の[アカウント]から「公開鍵」の[Copy hex]で取得できる。あるいはnpub形式をhttps://damus.io/key/で変換できる。)
nostr.jsonを次のようなフォルダ構造に入れる(一番上のフォルダの名前は何でもいい)
cloudflarepagestest/
+ .well-known/
+ nostr.json
登録
- CloudflareのWebサイトを開く。
- 以下、サイトが英語で表示されるときもあるかもしれないが、右上の言語や[English (US)]などとなってるところから「日本語」を選択すると日本語表示にできる。
- [サインアップ]をクリックする。
- 自分のメールアドレスと、パスワードを入力して[アカウント作成]をクリック。
Pagesを開く

- 左側のメニューから[Pages]をクリック
- 最初だけ、メールアドレスの確認が求められるので、指示に従って、送られてきたメールのリンクをクリックする。
- [Pages]が開かれる。
- [プロジェクトを作成]をクリック

Pagesの設定

「プロジェクトを作成する方法を選択する」と表示されるので、[アセットをアップロード]をクリック。

「プロジェクトをアップロードしてサイトをデプロイする」と表示されるので、プロジェクト名を入力する(他人に使われてなければこれがそのままドメイン名になる)。その後、[プロジェクトの作成]をクリックする。

「プロジェクト アセットをアップロードする」と表示されるので、ここに最初に用意したフォルダ(cloudflarepagestest)をドラッグ&ドロップする。
[サイトをデプロイ]をクリック。

うまくいけば「成功しました」と出る

表示されたドメインをコピーして、[nostr.jsonに書いた名前@コピーしたドメイン]の形式(ここではnixeneko@mynostrtest20230221.pages.dev)をNostrクライアントのプロフィール設定のドメイン認証欄に貼り付けて、設定を保存する。

(Irisの場合)
できた。
