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の場合)
できた。