mirror of
https://github.com/nostr-protocol/nips.git
synced 2025-12-11 17:48:50 +00:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
247205a155 | ||
|
|
5d64d57fc5 | ||
|
|
a6db7917f2 | ||
|
|
97d3531c44 | ||
|
|
f310614122 | ||
|
|
a4dadca077 |
7
18.md
7
18.md
@@ -36,3 +36,10 @@ as a "generic repost", that can include any kind of event inside other than
|
|||||||
|
|
||||||
`kind 16` reposts SHOULD contain a `"k"` tag with the stringified kind number
|
`kind 16` reposts SHOULD contain a `"k"` tag with the stringified kind number
|
||||||
of the reposted event as its value.
|
of the reposted event as its value.
|
||||||
|
|
||||||
|
When reposting a replaceable event, the repost SHOULD include an `"a"` tag with
|
||||||
|
the event coordinate (`kind:pubkey:d-tag`) of the reposted event.
|
||||||
|
|
||||||
|
If the `"a"` tag is not present, it indicates that a specific version of a replaceable
|
||||||
|
event is being reposted, in which case the `content` field must contain the full
|
||||||
|
JSON string of the reposted event.
|
||||||
|
|||||||
2
51.md
2
51.md
@@ -26,7 +26,7 @@ For example, _mute list_ can contain the public keys of spammers and bad actors
|
|||||||
| Mute list | 10000 | things the user doesn't want to see in their feeds | `"p"` (pubkeys), `"t"` (hashtags), `"word"` (lowercase string), `"e"` (threads) |
|
| Mute list | 10000 | things the user doesn't want to see in their feeds | `"p"` (pubkeys), `"t"` (hashtags), `"word"` (lowercase string), `"e"` (threads) |
|
||||||
| Pinned notes | 10001 | events the user intends to showcase in their profile page | `"e"` (kind:1 notes) |
|
| Pinned notes | 10001 | events the user intends to showcase in their profile page | `"e"` (kind:1 notes) |
|
||||||
| Read/write relays | 10002 | where a user publishes to and where they expect mentions | see [NIP-65](65.md) |
|
| Read/write relays | 10002 | where a user publishes to and where they expect mentions | see [NIP-65](65.md) |
|
||||||
| Bookmarks | 10003 | uncategorized, "global" list of things a user wants to save | `"e"` (kind:1 notes), `"a"` (kind:30023 articles), `"t"` (hashtags), `"r"` (URLs) |
|
| Bookmarks | 10003 | uncategorized, "global" list of things a user wants to save | `"e"` (kind:1 notes), `"a"` (kind:30023 articles) |
|
||||||
| Communities | 10004 | [NIP-72](72.md) communities the user belongs to | `"a"` (kind:34550 community definitions) |
|
| Communities | 10004 | [NIP-72](72.md) communities the user belongs to | `"a"` (kind:34550 community definitions) |
|
||||||
| Public chats | 10005 | [NIP-28](28.md) chat channels the user is in | `"e"` (kind:40 channel definitions) |
|
| Public chats | 10005 | [NIP-28](28.md) chat channels the user is in | `"e"` (kind:40 channel definitions) |
|
||||||
| Blocked relays | 10006 | relays clients should never connect to | `"relay"` (relay URLs) |
|
| Blocked relays | 10006 | relays clients should never connect to | `"relay"` (relay URLs) |
|
||||||
|
|||||||
7
52.md
7
52.md
@@ -65,8 +65,6 @@ Example:
|
|||||||
["d", "<random-identifier>"],
|
["d", "<random-identifier>"],
|
||||||
|
|
||||||
["title", "<title of calendar event>"],
|
["title", "<title of calendar event>"],
|
||||||
["summary", "<brief description of the calendar event>"],
|
|
||||||
["image", "<string with image URI>"],
|
|
||||||
|
|
||||||
// dates
|
// dates
|
||||||
["start", "<YYYY-MM-DD>"],
|
["start", "<YYYY-MM-DD>"],
|
||||||
@@ -95,6 +93,8 @@ Aside from the common tags, this also takes the following tags:
|
|||||||
|
|
||||||
* `start` (required) inclusive start Unix timestamp in seconds. Must be less than `end`, if it exists.
|
* `start` (required) inclusive start Unix timestamp in seconds. Must be less than `end`, if it exists.
|
||||||
* `end` (optional) exclusive end Unix timestamp in seconds. If omitted, the calendar event ends instantaneously.
|
* `end` (optional) exclusive end Unix timestamp in seconds. If omitted, the calendar event ends instantaneously.
|
||||||
|
* `start_tzid` (optional) time zone of the start timestamp, as defined by the IANA Time Zone Database. e.g., `America/Costa_Rica`
|
||||||
|
* `end_tzid` (optional) time zone of the end timestamp, as defined by the IANA Time Zone Database. e.g., `America/Costa_Rica`. If omitted and `start_tzid` is provided, the time zone of the end timestamp is the same as the start timestamp.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
{
|
{
|
||||||
@@ -114,6 +114,9 @@ Aside from the common tags, this also takes the following tags:
|
|||||||
["start", "<unix timestamp in seconds>"],
|
["start", "<unix timestamp in seconds>"],
|
||||||
["end", "<unix timestamp in seconds>"],
|
["end", "<unix timestamp in seconds>"],
|
||||||
|
|
||||||
|
["start_tzid", "<IANA Time Zone Database identifier>"],
|
||||||
|
["end_tzid", "<IANA Time Zone Database identifier>"],
|
||||||
|
|
||||||
// location
|
// location
|
||||||
["location", "<location>"],
|
["location", "<location>"],
|
||||||
["g", "<geohash>"],
|
["g", "<geohash>"],
|
||||||
|
|||||||
2
58.md
2
58.md
@@ -11,7 +11,7 @@ user profiles:
|
|||||||
|
|
||||||
1. A "Badge Definition" event is defined as an addressable event with kind `30009` having a `d` tag with a value that uniquely identifies the badge (e.g. `bravery`) published by the badge issuer. Badge definitions can be updated.
|
1. A "Badge Definition" event is defined as an addressable event with kind `30009` having a `d` tag with a value that uniquely identifies the badge (e.g. `bravery`) published by the badge issuer. Badge definitions can be updated.
|
||||||
|
|
||||||
2. A "Badge Award" event is a kind `8` event with a single `a` tag referencing a "Badge Definition" event and one or more `p` tags, one for each pubkey the badge issuer wishes to award. Awarded badges are immutable and non-transferrable.
|
2. A "Badge Award" event is a kind `8` event with a single `a` tag referencing a "Badge Definition" event and one or more `p` tags, one for each pubkey the badge issuer wishes to award. Awarded badges are immutable and non-transferable.
|
||||||
|
|
||||||
3. A "Profile Badges" event is defined as an _addressable event_ with kind `30008` with a `d` tag with the value `profile_badges`.
|
3. A "Profile Badges" event is defined as an _addressable event_ with kind `30008` with a `d` tag with the value `profile_badges`.
|
||||||
Profile badges contain an ordered list of pairs of `a` and `e` tags referencing a `Badge Definition` and a `Badge Award` for each badge to be displayed.
|
Profile badges contain an ordered list of pairs of `a` and `e` tags referencing a `Badge Definition` and a `Badge Award` for each badge to be displayed.
|
||||||
|
|||||||
2
C0.md
2
C0.md
@@ -25,7 +25,7 @@ The `.content` field contains the actual code snippet text.
|
|||||||
- `runtime` - Runtime or environment specification (e.g., "node v18.15.0", "python 3.11")
|
- `runtime` - Runtime or environment specification (e.g., "node v18.15.0", "python 3.11")
|
||||||
- `license` - License under which the code (along with any related data contained within the event, when available, such as the description) is shared. This MUST be a standard [SPDX](https://spdx.org/licenses/) short identifier (e.g., "MIT", "GPL-3.0-or-later", "Apache-2.0") when available. An additional parameter containing a reference to the actual text of the license MAY be provided. This tag can be repeated, to indicate multi-licensing, allowing recipients to use the code under any license of choosing among the referenced ones
|
- `license` - License under which the code (along with any related data contained within the event, when available, such as the description) is shared. This MUST be a standard [SPDX](https://spdx.org/licenses/) short identifier (e.g., "MIT", "GPL-3.0-or-later", "Apache-2.0") when available. An additional parameter containing a reference to the actual text of the license MAY be provided. This tag can be repeated, to indicate multi-licensing, allowing recipients to use the code under any license of choosing among the referenced ones
|
||||||
- `dep` - Dependency required for the code to run (can be repeated)
|
- `dep` - Dependency required for the code to run (can be repeated)
|
||||||
- `repo` - Reference to a repository where this code originates. This MUST be a either standard URL or, alternatively, the address of a [NIP-34](34.md) Git repository annoucement event in the form `"30617:<32-bytes hex a pubkey>:<d tag value>"`. If a repository announcement is referenced, a recommended relay URL where to find the event should be provided as an additional parameter
|
- `repo` - Reference to a repository where this code originates. This MUST be a either standard URL or, alternatively, the address of a [NIP-34](34.md) Git repository announcement event in the form `"30617:<32-bytes hex a pubkey>:<d tag value>"`. If a repository announcement is referenced, a recommended relay URL where to find the event should be provided as an additional parameter
|
||||||
|
|
||||||
## Format
|
## Format
|
||||||
|
|
||||||
|
|||||||
10
EE.md
10
EE.md
@@ -1,8 +1,12 @@
|
|||||||
# NIP-EE
|
> __Warning__ `unrecommended`: superseded by the [Marmot Protocol](https://github.com/marmot-protocol/marmot)
|
||||||
|
|
||||||
## E2EE Messaging using the Messaging Layer Security (MLS) Protocol
|
NIP-EE
|
||||||
|
======
|
||||||
|
|
||||||
`draft` `optional`
|
E2EE Messaging using the Messaging Layer Security (MLS) Protocol
|
||||||
|
----------------------------------------------------------------
|
||||||
|
|
||||||
|
`final` `unrecommended` `optional`
|
||||||
|
|
||||||
This NIP standardizes how to use the [MLS Protocol](https://www.rfc-editor.org/rfc/rfc9420.html) with Nostr for efficient and E2EE (end-to-end encrypted) direct and group messaging.
|
This NIP standardizes how to use the [MLS Protocol](https://www.rfc-editor.org/rfc/rfc9420.html) with Nostr for efficient and E2EE (end-to-end encrypted) direct and group messaging.
|
||||||
|
|
||||||
|
|||||||
12
README.md
12
README.md
@@ -108,7 +108,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
|
|||||||
- [NIP-BE: Nostr BLE Communications Protocol](BE.md)
|
- [NIP-BE: Nostr BLE Communications Protocol](BE.md)
|
||||||
- [NIP-C0: Code Snippets](C0.md)
|
- [NIP-C0: Code Snippets](C0.md)
|
||||||
- [NIP-C7: Chats](C7.md)
|
- [NIP-C7: Chats](C7.md)
|
||||||
- [NIP-EE: E2EE Messaging using MLS Protocol](EE.md)
|
- [NIP-EE: E2EE Messaging using MLS Protocol](EE.md) --- **unrecommended**: superseded by the [Marmot Protocol](https://github.com/marmot-protocol/marmot)
|
||||||
|
|
||||||
## Event Kinds
|
## Event Kinds
|
||||||
| kind | description | NIP |
|
| kind | description | NIP |
|
||||||
@@ -145,9 +145,9 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
|
|||||||
| `44` | Channel Mute User | [28](28.md) |
|
| `44` | Channel Mute User | [28](28.md) |
|
||||||
| `62` | Request to Vanish | [62](62.md) |
|
| `62` | Request to Vanish | [62](62.md) |
|
||||||
| `64` | Chess (PGN) | [64](64.md) |
|
| `64` | Chess (PGN) | [64](64.md) |
|
||||||
| `443` | KeyPackage | [EE](EE.md) |
|
| `443` | KeyPackage | [Marmot](marmot) |
|
||||||
| `444` | Welcome Message | [EE](EE.md) |
|
| `444` | Welcome Message | [Marmot](marmot) |
|
||||||
| `445` | Group Event | [EE](EE.md) |
|
| `445` | Group Event | [Marmot](marmot) |
|
||||||
| `818` | Merge Requests | [54](54.md) |
|
| `818` | Merge Requests | [54](54.md) |
|
||||||
| `1018` | Poll Response | [88](88.md) |
|
| `1018` | Poll Response | [88](88.md) |
|
||||||
| `1021` | Bid | [15](15.md) |
|
| `1021` | Bid | [15](15.md) |
|
||||||
@@ -209,7 +209,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
|
|||||||
| `10020` | Media follows | [51](51.md) |
|
| `10020` | Media follows | [51](51.md) |
|
||||||
| `10030` | User emoji list | [51](51.md) |
|
| `10030` | User emoji list | [51](51.md) |
|
||||||
| `10050` | Relay list to receive DMs | [51](51.md), [17](17.md) |
|
| `10050` | Relay list to receive DMs | [51](51.md), [17](17.md) |
|
||||||
| `10051` | KeyPackage Relays List | [EE](EE.md) |
|
| `10051` | KeyPackage Relays List | [Marmot](marmot) |
|
||||||
| `10063` | User server list | [Blossom][blossom] |
|
| `10063` | User server list | [Blossom][blossom] |
|
||||||
| `10096` | File storage server list | [96](96.md) (deprecated) |
|
| `10096` | File storage server list | [96](96.md) (deprecated) |
|
||||||
| `10166` | Relay Monitor Announcement | [66](66.md) |
|
| `10166` | Relay Monitor Announcement | [66](66.md) |
|
||||||
@@ -296,6 +296,8 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
|
|||||||
[Tidal-nostr]: https://wikistr.com/tidal-nostr
|
[Tidal-nostr]: https://wikistr.com/tidal-nostr
|
||||||
[geocaching]: https://nostrhub.io/naddr1qvzqqqrcvypzppscgyy746fhmrt0nq955z6xmf80pkvrat0yq0hpknqtd00z8z68qqgkwet0vdskx6rfdenj6etkv4h8guc6gs5y5
|
[geocaching]: https://nostrhub.io/naddr1qvzqqqrcvypzppscgyy746fhmrt0nq955z6xmf80pkvrat0yq0hpknqtd00z8z68qqgkwet0vdskx6rfdenj6etkv4h8guc6gs5y5
|
||||||
[nostr-epoxy]: https://github.com/Origami74/nostr-epoxy-reverse-proxy
|
[nostr-epoxy]: https://github.com/Origami74/nostr-epoxy-reverse-proxy
|
||||||
|
[marmot]: https://github.com/marmot-protocol/marmot
|
||||||
|
|
||||||
|
|
||||||
## Message types
|
## Message types
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user