mirror of
https://github.com/nostr-protocol/nips.git
synced 2025-03-25 17:21:52 +01:00
Merge 1642fd4cf9763d94a659ade3e3594944b4f63c0e into 0619f370bca3485bb9c5870bc2defa03c7c3d10e
This commit is contained in:
commit
22a5da7a37
68
82.md
Normal file
68
82.md
Normal file
@ -0,0 +1,68 @@
|
||||
NIP-82
|
||||
======
|
||||
|
||||
Software Applications
|
||||
---------------------
|
||||
|
||||
`draft` `optional`
|
||||
|
||||
This NIP defines kind 32267 to represent a software application.
|
||||
|
||||
## Application
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"kind": 32267,
|
||||
"content": "<description>", // Full description of the application, markdown is allowed
|
||||
"tags": [
|
||||
["d", "<app-id>"], // Usually reverse domain notation: com.example.app
|
||||
["name", "<human-readable project name>"], // Name: Example App
|
||||
["summary", "<summary-text>"], // Summary, short description: An app that does example
|
||||
["icon", "<icon-url>"], // Icon URL
|
||||
["image", "<image-url>"], // Image URL, can be used multiple times
|
||||
["t", "<tag>"], // Tags related to the application, can be used multiple times
|
||||
["url", "<website-url>"], // Website URL for the app
|
||||
["repository", "<repo-url>"], // Source code repository URL: https://github.com/example/android
|
||||
["a", "30617:<destination-pubkey>:<repo-id>", "<relay-url>"], // Pointer to NIP-34 repository
|
||||
["a", "30063:<destination-pubkey>:<app-id>@<version>"], // Pointer to the latest NIP-51 release artifact set
|
||||
["commit-id", "<sha1-commit-id>"], // SHA1 commit id used to build the release
|
||||
["f", "<platform-identifier>"], // Platform identifier, can be used multiple times
|
||||
["license", "<spdx-id>"] // License ID
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
All tags are optional but the `d` tag MUST be present. Applications SHOULD use their application or bundle identifier as the `d` tag, which typically is an ID with dots in reverse-domain notation.
|
||||
|
||||
For `icon` and `image` tags any URL is valid but a Blossom [BUD-01](https://github.com/hzrd149/blossom/blob/master/buds/01.md#get-sha256---get-blob) endpoint is recommended.
|
||||
|
||||
License IDs are SPDX IDs as defined in https://spdx.org/licenses/.
|
||||
|
||||
An `a` tag reference to the latest 30063 event SHOULD be present to facilitate discovering the latest release of an app. Similarly, `f` tags SHOULD be included to describe supported platforms that MUST match predefined identifiers.
|
||||
|
||||
### Platforms
|
||||
|
||||
Platform is defined as the specific underlying system on which the application is executed, a combination of operating system and hardware architecture. We use the `f` tag for this purpose, with the following identifiers loosely based off `uname -sm`:
|
||||
|
||||
| Identifier | OS | Architecture |
|
||||
| --------- | --- | --- |
|
||||
| `android-arm64-v8a` | Android | ARMv8-A |
|
||||
| `android-armeabi-v7a` | Android | ARMv7-A |
|
||||
| `android-x86` | Android | x86 |
|
||||
| `android-x86_64` | Android | x86-64 |
|
||||
| `darwin-arm64` | MacOS | ARM64 |
|
||||
| `darwin-x86_64` | MacOS | x86-64 |
|
||||
| `linux-aarch64` | Linux | ARM64 |
|
||||
| `linux-x86_64` | Linux | x86-64 |
|
||||
| `windows-aarch64` | Windows | ARM64 |
|
||||
| `windows-x86_64` | Windows | x86-64 |
|
||||
| `ios-arm64` | iOS | ARM64 |
|
||||
| `web` | (Web browsers) | - |
|
||||
|
||||
### Attribution
|
||||
|
||||
App authors MAY include their pubkeys as `p` tags and `zap` tags as per [NIP-57 - Appendix G](57.md). 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](51.md) SHOULD have an `a` tag reference back to this event, alongside its references to `"e"` [file metadata](94.md) events.
|
Loading…
x
Reference in New Issue
Block a user