nips/17.md

27 lines
1.6 KiB
Markdown
Raw Normal View History

2023-08-08 18:55:21 -04:00
# 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.