upleb.uk

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

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--01.md8
-rw-r--r--15.md2
-rw-r--r--19.md2
-rw-r--r--23.md4
-rw-r--r--29.md2
-rw-r--r--33.md4
-rw-r--r--38.md4
-rw-r--r--51.md2
-rw-r--r--52.md8
-rw-r--r--53.md2
-rw-r--r--54.md2
-rw-r--r--57.md2
-rw-r--r--58.md4
-rw-r--r--75.md6
-rw-r--r--78.md2
-rw-r--r--99.md2
16 files changed, 28 insertions, 28 deletions
diff --git a/01.md b/01.md
index 8be85bc..f4253be 100644
--- a/01.md
+++ b/01.md
@@ -77,9 +77,9 @@ This NIP defines 3 standard tags that can be used across all event kinds with th
77 77
78- The `e` tag, used to refer to an event: `["e", <32-bytes lowercase hex of the id of another event>, <recommended relay URL, optional>]` 78- The `e` tag, used to refer to an event: `["e", <32-bytes lowercase hex of the id of another event>, <recommended relay URL, optional>]`
79- The `p` tag, used to refer to another user: `["p", <32-bytes lowercase hex of a pubkey>, <recommended relay URL, optional>]` 79- The `p` tag, used to refer to another user: `["p", <32-bytes lowercase hex of a pubkey>, <recommended relay URL, optional>]`
80- The `a` tag, used to refer to a (maybe parameterized) replaceable event 80- The `a` tag, used to refer to a (maybe tagged) replaceable event
81 - for a parameterized replaceable event: `["a", <kind integer>:<32-bytes lowercase hex of a pubkey>:<d tag value>, <recommended relay URL, optional>]` 81 - for a tagged-replaceable event: `["a", <kind integer>:<32-bytes lowercase hex of a pubkey>:<d tag value>, <recommended relay URL, optional>]`
82 - for a non-parameterized replaceable event: `["a", <kind integer>:<32-bytes lowercase hex of a pubkey>:, <recommended relay URL, optional>]` 82 - for a non-tagged-replaceable event: `["a", <kind integer>:<32-bytes lowercase hex of a pubkey>:, <recommended relay URL, optional>]`
83 83
84As a convention, all single-letter (only english alphabet letters: a-z, A-Z) key tags are expected to be indexed by relays, such that it is possible, for example, to query or subscribe to events that reference the event `"5c83da77af1dec6d7289834998ad7aafbd9e2191396d75ec3cc27f5a77226f36"` by using the `{"#e": ["5c83da77af1dec6d7289834998ad7aafbd9e2191396d75ec3cc27f5a77226f36"]}` filter. 84As a convention, all single-letter (only english alphabet letters: a-z, A-Z) key tags are expected to be indexed by relays, such that it is possible, for example, to query or subscribe to events that reference the event `"5c83da77af1dec6d7289834998ad7aafbd9e2191396d75ec3cc27f5a77226f36"` by using the `{"#e": ["5c83da77af1dec6d7289834998ad7aafbd9e2191396d75ec3cc27f5a77226f36"]}` filter.
85 85
@@ -95,7 +95,7 @@ And also a convention for kind ranges that allow for easier experimentation and
95- for kind `n` such that `1000 <= n < 10000`, events are **regular**, which means they're all expected to be stored by relays. 95- for kind `n` such that `1000 <= n < 10000`, events are **regular**, which means they're all expected to be stored by relays.
96- for kind `n` such that `10000 <= n < 20000 || n == 0 || n == 3`, events are **replaceable**, which means that, for each combination of `pubkey` and `kind`, only the latest event MUST be stored by relays, older versions MAY be discarded. 96- for kind `n` such that `10000 <= n < 20000 || n == 0 || n == 3`, events are **replaceable**, which means that, for each combination of `pubkey` and `kind`, only the latest event MUST be stored by relays, older versions MAY be discarded.
97- for kind `n` such that `20000 <= n < 30000`, events are **ephemeral**, which means they are not expected to be stored by relays. 97- for kind `n` such that `20000 <= n < 30000`, events are **ephemeral**, which means they are not expected to be stored by relays.
98- for kind `n` such that `30000 <= n < 40000`, events are **parameterized replaceable**, which means that, for each combination of `pubkey`, `kind` and the `d` tag's first value, only the latest event MUST be stored by relays, older versions MAY be discarded. 98- for kind `n` such that `30000 <= n < 40000`, events are **tagged-replaceable**, which means that, for each combination of `pubkey`, `kind` and the `d` tag's first value, only the latest event MUST be stored by relays, older versions MAY be discarded.
99 99
100In case of replaceable events with the same timestamp, the event with the lowest id (first in lexical order) should be retained, and the other discarded. 100In case of replaceable events with the same timestamp, the event with the lowest id (first in lexical order) should be retained, and the other discarded.
101 101
diff --git a/15.md b/15.md
index 55814fb..f16814d 100644
--- a/15.md
+++ b/15.md
@@ -300,7 +300,7 @@ This event leverages naddr to enable comprehensive customization and sharing of
300Bids are simply events of kind `1021` with a `content` field specifying the amount, in the currency of the auction. Bids must reference an auction. 300Bids are simply events of kind `1021` with a `content` field specifying the amount, in the currency of the auction. Bids must reference an auction.
301 301
302> [!NOTE] 302> [!NOTE]
303> Auctions can be edited as many times as desired (they are "parameterized replaceable events") by the author - even after the start_date, but they cannot be edited after they have received the first bid! This is enforced by the fact that bids reference the event ID of the auction (rather than the product UUID), which changes with every new version of the auctioned product. So a bid is always attached to one "version". Editing the auction after a bid would result in the new product losing the bid! 303> Auctions can be edited as many times as desired (they are "tagged-replaceable events") by the author - even after the start_date, but they cannot be edited after they have received the first bid! This is enforced by the fact that bids reference the event ID of the auction (rather than the product UUID), which changes with every new version of the auctioned product. So a bid is always attached to one "version". Editing the auction after a bid would result in the new product losing the bid!
304 304
305### Event `1022`: Bid confirmation 305### Event `1022`: Bid confirmation
306 306
diff --git a/19.md b/19.md
index ef80887..a535cec 100644
--- a/19.md
+++ b/19.md
@@ -44,7 +44,7 @@ These possible standardized `TLV` types are indicated here:
44 - for `nprofile` it will be the 32 bytes of the profile public key 44 - for `nprofile` it will be the 32 bytes of the profile public key
45 - for `nevent` it will be the 32 bytes of the event id 45 - for `nevent` it will be the 32 bytes of the event id
46 - for `nrelay`, this is the relay URL 46 - for `nrelay`, this is the relay URL
47 - for `naddr`, it is the identifier (the `"d"` tag) of the event being referenced. For non-parameterized replaceable events, use an empty string. 47 - for `naddr`, it is the identifier (the `"d"` tag) of the event being referenced. For non-tagged-replaceable events, use an empty string.
48- `1`: `relay` 48- `1`: `relay`
49 - for `nprofile`, `nevent` and `naddr`, _optionally_, a relay in which the entity (profile or event) is more likely to be found, encoded as ascii 49 - for `nprofile`, `nevent` and `naddr`, _optionally_, a relay in which the entity (profile or event) is more likely to be found, encoded as ascii
50 - this may be included multiple times 50 - this may be included multiple times
diff --git a/23.md b/23.md
index 382df83..8860a27 100644
--- a/23.md
+++ b/23.md
@@ -6,7 +6,7 @@ Long-form Content
6 6
7`draft` `optional` 7`draft` `optional`
8 8
9This NIP defines `kind:30023` (a _parameterized replaceable event_) for long-form text content, generally referred to as "articles" or "blog posts". `kind:30024` has the same structure as `kind:30023` and is used to save long form drafts. 9This NIP defines `kind:30023` (a _tagged-replaceable event_) for long-form text content, generally referred to as "articles" or "blog posts". `kind:30024` has the same structure as `kind:30023` and is used to save long form drafts.
10 10
11"Social" clients that deal primarily with `kind:1` notes should not be expected to implement this NIP. 11"Social" clients that deal primarily with `kind:1` notes should not be expected to implement this NIP.
12 12
@@ -31,7 +31,7 @@ Other metadata fields can be added as tags to the event as necessary. Here we st
31 31
32### Editability 32### Editability
33 33
34These articles are meant to be editable, so they should make use of the parameterized replaceability feature and include a `d` tag with an identifier for the article. Clients should take care to only publish and read these events from relays that implement that. If they don't do that they should also take care to hide old versions of the same article they may receive. 34These articles are meant to be editable, so they should make use of the tagged replaceability feature and include a `d` tag with an identifier for the article. Clients should take care to only publish and read these events from relays that implement that. If they don't do that they should also take care to hide old versions of the same article they may receive.
35 35
36### Linking 36### Linking
37 37
diff --git a/29.md b/29.md
index 0f4a579..87a3f51 100644
--- a/29.md
+++ b/29.md
@@ -16,7 +16,7 @@ Normally a group will originally belong to one specific relay, but the community
16 16
17## Relay-generated events 17## Relay-generated events
18 18
19Relays are supposed to generate the events that describe group metadata and group admins. These are parameterized replaceable events signed by the relay keypair directly, with the group _id_ as the `d` tag. 19Relays are supposed to generate the events that describe group metadata and group admins. These are tagged-replaceable events signed by the relay keypair directly, with the group _id_ as the `d` tag.
20 20
21## Group identifier 21## Group identifier
22 22
diff --git a/33.md b/33.md
index 337a1f9..9453e06 100644
--- a/33.md
+++ b/33.md
@@ -1,8 +1,8 @@
1NIP-33 1NIP-33
2====== 2======
3 3
4Parameterized Replaceable Events 4Tagged Replaceable Events
5-------------------------------- 5-------------------------
6 6
7`final` `mandatory` 7`final` `mandatory`
8 8
diff --git a/38.md b/38.md
index 911d5b1..ee602c6 100644
--- a/38.md
+++ b/38.md
@@ -13,7 +13,7 @@ This NIP enables a way for users to share live statuses such as what music they
13 13
14## Live Statuses 14## Live Statuses
15 15
16A special event with `kind:30315` "User Status" is defined as an *optionally expiring* _parameterized replaceable event_, where the `d` tag represents the status type: 16A special event with `kind:30315` "User Status" is defined as an *optionally expiring* _tagged-replaceable event_, where the `d` tag represents the status type:
17 17
18For example: 18For example:
19 19
@@ -44,7 +44,7 @@ Two common status types are defined: `general` and `music`. `general` represent
44 44
45Any other status types can be used but they are not defined by this NIP. 45Any other status types can be used but they are not defined by this NIP.
46 46
47The status MAY include an `r`, `p`, `e` or `a` tag linking to a URL, profile, note, or parameterized replaceable event. 47The status MAY include an `r`, `p`, `e` or `a` tag linking to a URL, profile, note, or tagged-replaceable event.
48 48
49# Client behavior 49# Client behavior
50 50
diff --git a/51.md b/51.md
index fb40b26..9d6c56a 100644
--- a/51.md
+++ b/51.md
@@ -16,7 +16,7 @@ When new items are added to an existing list, clients SHOULD append them to the
16 16
17## Standard lists 17## Standard lists
18 18
19Standard lists use non-parameterized replaceable events, meaning users may only have a single list of each kind. They have special meaning and clients may rely on them to augment a user's profile or browsing experience. 19Standard lists use non-tagged-replaceable events, meaning users may only have a single list of each kind. They have special meaning and clients may rely on them to augment a user's profile or browsing experience.
20 20
21For example, _mute list_ can contain the public keys of spammers and bad actors users don't want to see in their feeds or receive annoying notifications from. 21For example, _mute list_ can contain the public keys of spammers and bad actors users don't want to see in their feeds or receive annoying notifications from.
22 22
diff --git a/52.md b/52.md
index f35d904..88ea8b2 100644
--- a/52.md
+++ b/52.md
@@ -6,7 +6,7 @@ Calendar Events
6 6
7`draft` `optional` 7`draft` `optional`
8 8
9This specification defines calendar events representing an occurrence at a specific moment or between moments. These calendar events are _parameterized replaceable_ and deletable per [NIP-09](09.md). 9This specification defines calendar events representing an occurrence at a specific moment or between moments. These calendar events are _tagged-replaceable_ and deletable per [NIP-09](09.md).
10 10
11Unlike the term `calendar event` specific to this NIP, the term `event` is used broadly in all the NIPs to describe any Nostr event. The distinction is being made here to discern between the two terms. 11Unlike the term `calendar event` specific to this NIP, the term `event` is used broadly in all the NIPs to describe any Nostr event. The distinction is being made here to discern between the two terms.
12 12
@@ -20,7 +20,7 @@ This kind of calendar event starts on a date and ends before a different date in
20 20
21#### Format 21#### Format
22 22
23The format uses a parameterized replaceable event kind `31922`. 23The format uses a tagged-replaceable event kind `31922`.
24 24
25The `.content` of these events should be a detailed description of the calendar event. It is required but can be an empty string. 25The `.content` of these events should be a detailed description of the calendar event. It is required but can be an empty string.
26 26
@@ -79,7 +79,7 @@ This kind of calendar event spans between a start time and end time.
79 79
80#### Format 80#### Format
81 81
82The format uses a parameterized replaceable event kind `31923`. 82The format uses a tagged-replaceable event kind `31923`.
83 83
84The `.content` of these events should be a detailed description of the calendar event. It is required but can be an empty string. 84The `.content` of these events should be a detailed description of the calendar event. It is required but can be an empty string.
85 85
@@ -180,7 +180,7 @@ This NIP is also intentionally not defining what happens if a calendar event cha
180 180
181### Format 181### Format
182 182
183The format uses a parameterized replaceable event kind `31925`. 183The format uses a tagged-replaceable event kind `31925`.
184 184
185The `.content` of these events is optional and should be a free-form note that adds more context to this calendar event response. 185The `.content` of these events is optional and should be a free-form note that adds more context to this calendar event response.
186 186
diff --git a/53.md b/53.md
index fad2622..a523dc7 100644
--- a/53.md
+++ b/53.md
@@ -12,7 +12,7 @@ Service providers want to offer live activities to the Nostr network in such a w
12 12
13### Live Event 13### Live Event
14 14
15A special event with `kind:30311` "Live Event" is defined as a _parameterized replaceable event_ of public `p` tags. Each `p` tag SHOULD have a **displayable** marker name for the current role (e.g. `Host`, `Speaker`, `Participant`) of the user in the event and the relay information MAY be empty. This event will be constantly updated as participants join and leave the activity. 15A special event with `kind:30311` "Live Event" is defined as a _tagged-replaceable event_ of public `p` tags. Each `p` tag SHOULD have a **displayable** marker name for the current role (e.g. `Host`, `Speaker`, `Participant`) of the user in the event and the relay information MAY be empty. This event will be constantly updated as participants join and leave the activity.
16 16
17For example: 17For example:
18 18
diff --git a/54.md b/54.md
index 2090182..db3ea9d 100644
--- a/54.md
+++ b/54.md
@@ -6,7 +6,7 @@ Wiki
6 6
7`draft` `optional` 7`draft` `optional`
8 8
9This NIP defines `kind:30818` (a _parameterized replaceable event_) for long-form text content similar to [NIP-23](23.md), but with one important difference: articles are meant to be descriptions, or encyclopedia entries, of particular subjects, and it's expected that multiple people will write articles about the exact same subjects, with either small variations or completely independent content. 9This NIP defines `kind:30818` (a _tagged-replaceable event_) for long-form text content similar to [NIP-23](23.md), but with one important difference: articles are meant to be descriptions, or encyclopedia entries, of particular subjects, and it's expected that multiple people will write articles about the exact same subjects, with either small variations or completely independent content.
10 10
11Articles are identified by lowercase, normalized ascii `d` tags. 11Articles are identified by lowercase, normalized ascii `d` tags.
12 12
diff --git a/57.md b/57.md
index 6d89620..ea3c3c7 100644
--- a/57.md
+++ b/57.md
@@ -36,7 +36,7 @@ A `zap request` is an event of kind `9734` that is _not_ published to relays, bu
36In addition, the event MAY include the following tags: 36In addition, the event MAY include the following tags:
37 37
38- `e` is an optional hex-encoded event id. Clients MUST include this if zapping an event rather than a person. 38- `e` is an optional hex-encoded event id. Clients MUST include this if zapping an event rather than a person.
39- `a` is an optional event coordinate that allows tipping parameterized replaceable events such as NIP-23 long-form notes. 39- `a` is an optional event coordinate that allows tipping tagged-replaceable events such as NIP-23 long-form notes.
40 40
41Example: 41Example:
42 42
diff --git a/58.md b/58.md
index 4a9ed4c..e8d8bc0 100644
--- a/58.md
+++ b/58.md
@@ -9,11 +9,11 @@ Badges
9Three special events are used to define, award and display badges in 9Three special events are used to define, award and display badges in
10user profiles: 10user profiles:
11 11
121. A "Badge Definition" event is defined as a parameterized replaceable 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. 121. A "Badge Definition" event is defined as a tagged-replaceable 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.
13 13
142. 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. 142. 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.
15 15
163. A "Profile Badges" event is defined as a parameterized replaceable event 163. A "Profile Badges" event is defined as a tagged-replaceable event
17with kind `30008` with a `d` tag with the value `profile_badges`. 17with kind `30008` with a `d` tag with the value `profile_badges`.
18Profile 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. 18Profile 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.
19 19
diff --git a/75.md b/75.md
index c16436a..cfc29f9 100644
--- a/75.md
+++ b/75.md
@@ -53,11 +53,11 @@ The following tags are OPTIONAL.
53} 53}
54``` 54```
55 55
56The goal MAY include an `r` or `a` tag linking to a URL or parameterized replaceable event. 56The goal MAY include an `r` or `a` tag linking to a URL or tagged-replaceable event.
57 57
58The goal MAY include multiple beneficiary pubkeys by specifying [`zap` tags](57.md#appendix-g-zap-tag-on-other-events). 58The goal MAY include multiple beneficiary pubkeys by specifying [`zap` tags](57.md#appendix-g-zap-tag-on-other-events).
59 59
60Parameterized replaceable events can link to a goal by using a `goal` tag specifying the event id and an optional relay hint. 60Tagged-replaceable events can link to a goal by using a `goal` tag specifying the event id and an optional relay hint.
61 61
62```json 62```json
63{ 63{
@@ -77,7 +77,7 @@ Clients MAY display funding goals on user profiles.
77 77
78When zapping a goal event, clients MUST include the relays in the `relays` tag of the goal event in the zap request `relays` tag. 78When zapping a goal event, clients MUST include the relays in the `relays` tag of the goal event in the zap request `relays` tag.
79 79
80When zapping a parameterized replaceable event with a `goal` tag, clients SHOULD tag the goal event id in the `e` tag of the zap request. 80When zapping a tagged-replaceable event with a `goal` tag, clients SHOULD tag the goal event id in the `e` tag of the zap request.
81 81
82## Use cases 82## Use cases
83 83
diff --git a/78.md b/78.md
index 0f2fada..d3c47b8 100644
--- a/78.md
+++ b/78.md
@@ -12,7 +12,7 @@ Even though interoperability is great, some apps do not want or do not need inte
12 12
13## Nostr event 13## Nostr event
14 14
15This NIP specifies the use of event kind `30078` (parameterized replaceable event) with a `d` tag containing some reference to the app name and context -- or any other arbitrary string. `content` and other `tags` can be anything or in any format. 15This NIP specifies the use of event kind `30078` (tagged-replaceable event) with a `d` tag containing some reference to the app name and context -- or any other arbitrary string. `content` and other `tags` can be anything or in any format.
16 16
17## Some use cases 17## Some use cases
18 18
diff --git a/99.md b/99.md
index 93550d8..932aaca 100644
--- a/99.md
+++ b/99.md
@@ -6,7 +6,7 @@ Classified Listings
6 6
7`draft` `optional` 7`draft` `optional`
8 8
9This NIP defines `kind:30402`: a parameterized replaceable event to describe classified listings that list any arbitrary product, service, or other thing for sale or offer and includes enough structured metadata to make them useful. 9This NIP defines `kind:30402`: a tagged-replaceable event to describe classified listings that list any arbitrary product, service, or other thing for sale or offer and includes enough structured metadata to make them useful.
10 10
11The category of classifieds includes a very broad range of physical goods, services, work opportunities, rentals, free giveaways, personals, etc. and is distinct from the more strictly structured marketplaces defined in [NIP-15](https://github.com/nostr-protocol/nips/blob/master/15.md) that often sell many units of specific products through very specific channels. 11The category of classifieds includes a very broad range of physical goods, services, work opportunities, rentals, free giveaways, personals, etc. and is distinct from the more strictly structured marketplaces defined in [NIP-15](https://github.com/nostr-protocol/nips/blob/master/15.md) that often sell many units of specific products through very specific channels.
12 12