upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/17.md
blob: 6b5f3fc3a223e473fae0a33605a89929b3a00656 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# NIPs over Nostr

`draft` `optional` `author:Semisol`

This NIP defines a method to do NIPs over Nostr.

## NIP event

A NIP event is an event with kind 9777. The content is in Markdown and is the NIP text.

A NIP event can be identified in multiple ways:
- `50001:<author>:<d tag>`: Represents the NIP.
- `!50001:<author>:<version>@<id>:<d tag>`: Represents a specific version of this NIP. The ID may be omitted.

The following tags may be in a NIP event (bold ones are mandatory, and underlined ones may be used more than once):
- **`d`**: A distinguishing tag for this NIP. A NIP event is identified by the author's public key and this d tag.
- **`v`**: The version for this NIP, as a limited subset of SemVer in the format `major.minor.patch`.
  - More than one event can exist for the same version of a NIP. This is intended for minor edits, and if this is encountered, the event with the higher created_at is used,
    and this SHOULD be avoided when possible.
- **__`p`__**: An author or contributor of this NIP. The parameter after the public key can be specified the type of contribution (more may be added):
  - `author`: An author of this NIP.
  - `contrib`: Someone that contributed to this NIP.
- __`D`__: Depends on tag, in the format `["D", "50001:<author>:<d tag>", "<version>@<id>"]`. The ID may not be omitted.
- __`E`__: Extends tag, in the same format as the `D` tag.
- __`K`__: A kind or kind range this NIP uses, such as `0` or `10000-19999`.
- __**`license`**__: A license for this NIP as an SPDX license identifier. Multiple tags mean any can be chosen by the user.