にせねこメモ

はてなダイアリーがUTF-8じゃないので移ってきました。

Cloudflare Pagesを使ったNostrのNIP-05認証

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

登録

  1. CloudflareのWebサイトを開く。
    • 以下、サイトが英語で表示されるときもあるかもしれないが、右上の言語や[English (US)]などとなってるところから「日本語」を選択すると日本語表示にできる。
  2. [サインアップ]をクリックする。
  3. 自分のメールアドレスと、パスワードを入力して[アカウント作成]をクリック。

Pagesを開く

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


Pagesの設定


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


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


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

[サイトをデプロイ]をクリック。

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

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

(Irisの場合)

できた。