NIP-11
Relay Information Document
リレー情報ドキュメント
リレーはサーバのメタデータをクライアントに提供し、サポートしている仕様(capabilities)や管理担当者の連絡先、様々なサーバの属性を示すことができる。リレーのWebSocketと同じURIで、HTTP上にJSONドキュメントを配置することで利用可能になる。
リレーは、WebSocketのUpgradeに対応するURIに対するAccept: application/nostr+jsonというヘッダを持つHTTP(S)リクエストを受け取ったら次の構造のドキュメントを返すべきである(SHOULD)。
code:_.json
{
"name": <string identifying relay>,
"description": <string with detailed information>,
"pubkey": <administrative contact pubkey>,
"contact": <administrative alternate contact>,
"supported_nips": <a list of NIP numbers supported by the relay>,
"software": <string identifying relay software URL>,
"version": <string version identifier>
}
どのフィールドも省略可能である。クライアントは理解できない追加のフィールドを無視しなければならない(MUST)。リレーはCORSリクエストを、Access-Control-Allow-Origin、Access-Control-Allow-Headers、Access-Control-Allow-Methodsヘッダを送ることにより受け付けなければならない(MUST)。
Name
リレーの名前
リレーはクライアントソフトで利用されるnameを選んでもよい
これは文字列で、クライアントの切り捨てを防ぐために30文字未満にすべきである(SHOULD)。
Description
リレーに関するプレインテキストによる詳細情報をdescriptionに含めてもよい
マークアップ、フォーマット(formatting)、折返しのための改行を含まず、単純に改行文字を2つ使うことによって段落を区切ることを推奨する。
長さに制限はない
Pubkey
管理担当者の連絡先を pubkeyに掲載してもよい
訳注: 原文のbe listedの主語がa contact(単数)なので、「(1つ)掲載する」の意のlistedであって配列で連絡先一覧を載せるわけではないと思われる heguro.icon
形式は、Nostrのイベントと同じ(secp256k1の公開鍵を表す32バイトの16進文字列)
Contact
代替の連絡先を contact に掲載してもよい
公開鍵とダイレクトメッセージの使用がこれより優先されるべきである(SHOULD)。
形式は mailto や https などのスキーマを使用したURIであるべき(SHOULD)。
訳注: 実際のところ、mailto:のないメールアドレスがcontactに記述されていることも多い
Supported NIPs
Nostrプロトコルの進化により、一部機能は特定のNIPを実装したリレーでのみ利用可能な場合がある
このフィールド(supported_nips)は、リレーに実装されたNIP番号を表す整数の配列
1 ならNIP-01、 9 ならNIP-09を表す
クライアント向けのNIPはここに書かれるべきではなく(SHOULD NOT)、クライアントによって無視されることがある
Software
リレーサーバーの実装を software 属性に示してもよい(MAY)
もし示される場合、プロジェクトのWebページのURLでなければならない(MUST)
Version
リレーはソフトウェアのバージョンを(version 属性に)文字列として公開することを選んでもよい
形式はリレーの実装により定義される
バージョン番号またはコミット識別子であることが推奨される
サーバ制限
イベント保持期間
コンテンツの制限
コミュニティ選好(Community Preferences)
料金・支払い情報
アイコン