nips/82.md
2024-12-10 13:44:17 -03:00

2.2 KiB

NIP-82

Applications

draft optional

This NIP defines kind 32267 to represent a software application.

The description and visuals of an application are optionally provided via a linked NIP-54 kind 30818 wiki article.

Application

{
  "kind": 32267,
  "content": "",
  "tags": [
    ["d", "<app-id>"], // Usually reverse domain notation: com.example.app
    ["name", "<human-readable project name>"], // Name, in case wiki article is missing
    ["icon", "<icon-url>"], // Icon URL: https://cdn.zap.store/8a8fc42aed83d76ccb48afd6eec40bb8b15af6296e03a27a9eeab015f07e2a54.png
    ["repository", "<repo-url>"], // Source code repository URL: https://github.com/example/android
    ["commit-id", "<sha1-commit-id>"], // SHA1 commit id used to build the release
    ["a", "30818:<destination-pubkey>:<app-slug>", "<relay-url>"], // Pointer to NIP-54 wiki article
    ["a", "30617:<destination-pubkey>:<repo-id>", "<relay-url>"], // Pointer to NIP-34 repository
    ["license", "<spdx-id>"] // License ID from https://spdx.org/licenses/: Apache-2.0
  ]
}

All tags are optional except for d. Android applications MUST use the application identifier as the d tag.

The content field SHOULD be empty. For icon any URL is valid but a Blossom BUD-01 endpoint is recommended.

Clients SHOULD first check for the availability of the linked kind 30818 to retrieve the app description and display information contained in tags including title, summary, image, icon, url, t, etc. The name field MUST be used as fallback if title was not available.

Note on NIP-89: Not all applications can or should handle nostr events. Those that do MAY choose to publish a NIP-89 event.

Attribution

App authors MAY include their pubkeys as p tags and zap tags as per NIP-57 - Appendix G. This is useful in the case of an author other than the one who signed the event, or multiple authors.

Usage

A kind 30063 release artifact set SHOULD have an "a" tag reference to this event, alongside its references to "e" file metadata events.