NIP-82: ソフトウェアアプリケーション
NIP-82は、Nostrクライアントがアプリケーション(Android APK、iOSアプリ、Webアプリ、デスクトップバイナリ)をフィードや発見画面でファーストクラスのオブジェクトとしてレンダリングできるように、ソフトウェアアプリケーションイベントを定義します。この仕様は、汎用kind 1ノートやNIP-89のハンドラ推奨を通じてアプリを記述する従来のアプローチを、アプリケーションのメタデータ、スクリーンショット、リポジトリリンク、作者の身元を運ぶ専用の構造化イベントで置き換えます。
仕組み
NIP-82のソフトウェアアプリケーションは、作者のpubkeyとdタグで指定される単一の置き換え可能イベントです。イベントには以下が含まれます。
- 表示用の
name、description、icon、imageタグ - ソースとホームページURL用の
repositoryとwebタグ - 対応するターゲット(android、ios、web、linux、macos、windows)を列挙する
platformsタグ - プラットフォーム固有のバイナリまたはWeb URLごとの
downloadタグ - アプリケーションのスクリーンショット画像URLを運ぶ
screenshotsタグ - 分類のための
tトピックタグ - 現在の公開バージョンを示す
versionタグ
NIP-82フィードを閲覧するクライアントは、アプリケーションカードを表示し、正規のリポジトリにリンクし、Nostrの長文投稿やサードパーティのアプリストアをスクレイピングすることなくスクリーンショットを表示できます。作者のpubkeyがアプリケーションの真実の源となるため、クライアントはダウンロードリンクを宣伝する前に、公開者が期待される開発者の身元と一致するかを検証できます。
フィードの仕様
NIP-82イベントはアドレス可能なので、各アプリケーションは作者ごとに1つの正規の置き換え可能イベントを持ちます。新バージョンを公開する開発者は以前のイベントをその場で置き換え、購読者はイベント履歴を管理することなく更新を確認できます。変更ログを希望するクライアントは、アドレス可能なイベントを購読し、バージョンアップをアプリケーション画面上の活動としてレンダリングできます。
この仕様はNIP-89(アプリケーションハンドラ)と組み合わせられます。NIP-82イベントはアプリケーションを成果物として記述し、NIP-89イベントはそのアプリケーションが特定のevent kindを処理できることを記述します。クライアントは一方だけでも使えますが、この2つを組み合わせることで、共に機能する発見画面(NIP-82)と委任画面(NIP-89)が得られます。
実装
- Amethyst v1.12.0 は、詳細画面、作者情報、スクリーンショットを備えた専用のNIP-82ソフトウェアアプリケーションフィードを搭載しました(PR #3036、PR #3078、PR #3200)
Primary sources:
- NIP-82仕様
- Amethyst PR #3036 - 専用フィードを備えたNIP-82ソフトウェアアプリケーションサポートを追加
- Amethyst PR #3078 - 専用のNIP-82ソフトウェアアプリ詳細画面を追加
- Amethyst PR #3200 - 作者情報とスクリーンショットでNIP-82ソフトウェアアプリのUIを改善
Mentioned in:
See also: