diff options
| author | vivganes <vivek@vivekganesan.com> | 2023-04-07 17:38:03 +0530 |
|---|---|---|
| committer | fiatjaf_ <fiatjaf@gmail.com> | 2023-04-07 11:45:06 -0300 |
| commit | 3cec80d99ebbee6b72aae31f1856181d04971244 (patch) | |
| tree | 9cbcfcc020dd370a17f5c96aa163736026a68266 | |
| parent | e219ec64701d89e6b2c3f3ca8fd426d0aefdcb9c (diff) | |
fix grammar and typos
| -rw-r--r-- | 04.md | 2 | ||||
| -rw-r--r-- | 05.md | 2 | ||||
| -rw-r--r-- | 11.md | 8 | ||||
| -rw-r--r-- | 13.md | 2 | ||||
| -rw-r--r-- | 22.md | 2 | ||||
| -rw-r--r-- | 25.md | 2 | ||||
| -rw-r--r-- | 40.md | 2 | ||||
| -rw-r--r-- | 45.md | 2 | ||||
| -rw-r--r-- | 51.md | 2 | ||||
| -rw-r--r-- | 78.md | 2 |
10 files changed, 13 insertions, 13 deletions
| @@ -50,4 +50,4 @@ This standard does not go anywhere near what is considered the state-of-the-art | |||
| 50 | 50 | ||
| 51 | ## Client Implementation Warning | 51 | ## Client Implementation Warning |
| 52 | 52 | ||
| 53 | Client's *should not* search and replace public key or note references from the `.content`. If processed like a regular text note (where `@npub...` is replaced with `#[0]` with a `["p", "..."]` tag) the tags are leaked and the mentioned user will receive the message in their inbox. | 53 | Clients *should not* search and replace public key or note references from the `.content`. If processed like a regular text note (where `@npub...` is replaced with `#[0]` with a `["p", "..."]` tag) the tags are leaked and the mentioned user will receive the message in their inbox. |
| @@ -64,7 +64,7 @@ For example, if after finding that `bob@bob.com` has the public key `abc...def`, | |||
| 64 | 64 | ||
| 65 | ### Public keys must be in hex format | 65 | ### Public keys must be in hex format |
| 66 | 66 | ||
| 67 | Keys must be returned in hex format. Keys in NIP-19 `npub` format are are only meant to be used for display in client UIs, not in this NIP. | 67 | Keys must be returned in hex format. Keys in NIP-19 `npub` format are only meant to be used for display in client UIs, not in this NIP. |
| 68 | 68 | ||
| 69 | ### User Discovery implementation suggestion | 69 | ### User Discovery implementation suggestion |
| 70 | 70 | ||
| @@ -154,7 +154,7 @@ all, and preferably an error will be provided when those are received. | |||
| 154 | `retention` is a list of specifications: each will apply to either all kinds, or | 154 | `retention` is a list of specifications: each will apply to either all kinds, or |
| 155 | a subset of kinds. Ranges may be specified for the kind field as a tuple of inclusive | 155 | a subset of kinds. Ranges may be specified for the kind field as a tuple of inclusive |
| 156 | start and end values. Events of indicated kind (or all) are then limited to a `count` | 156 | start and end values. Events of indicated kind (or all) are then limited to a `count` |
| 157 | and or time period. | 157 | and/or time period. |
| 158 | 158 | ||
| 159 | It is possible to effectively blacklist Nostr-based protocols that rely on | 159 | It is possible to effectively blacklist Nostr-based protocols that rely on |
| 160 | a specific `kind` number, by giving a retention time of zero for those `kind` values. | 160 | a specific `kind` number, by giving a retention time of zero for those `kind` values. |
| @@ -175,8 +175,8 @@ It is not possible to describe the limitations of each country's laws | |||
| 175 | and policies which themselves are typically vague and constantly shifting. | 175 | and policies which themselves are typically vague and constantly shifting. |
| 176 | 176 | ||
| 177 | Therefore, this field allows the relay operator to indicate which | 177 | Therefore, this field allows the relay operator to indicate which |
| 178 | country's' laws might end up being enforced on them, and then | 178 | countries' laws might end up being enforced on them, and then |
| 179 | indirectly on their users's content. | 179 | indirectly on their users' content. |
| 180 | 180 | ||
| 181 | Users should be able to avoid relays in countries they don't like, | 181 | Users should be able to avoid relays in countries they don't like, |
| 182 | and/or select relays in more favourable zones. Exposing this | 182 | and/or select relays in more favourable zones. Exposing this |
| @@ -220,7 +220,7 @@ To support this goal, relays MAY specify some of the following values. | |||
| 220 | the major languages spoken on the relay. | 220 | the major languages spoken on the relay. |
| 221 | 221 | ||
| 222 | - `tags` is a list of limitations on the topics to be discussed. | 222 | - `tags` is a list of limitations on the topics to be discussed. |
| 223 | For example `sfw-only` indicates hat only "Safe For Work" content | 223 | For example `sfw-only` indicates that only "Safe For Work" content |
| 224 | is encouraged on this relay. This relies on assumptions of what the | 224 | is encouraged on this relay. This relies on assumptions of what the |
| 225 | "work" "community" feels "safe" talking about. In time, a common | 225 | "work" "community" feels "safe" talking about. In time, a common |
| 226 | set of tags may emerge that allow users to find relays that suit | 226 | set of tags may emerge that allow users to find relays that suit |
| @@ -90,4 +90,4 @@ $ echo '["REQ", "subid", {"ids": ["000000000"]}]' | websocat wss://some-relay.c | |||
| 90 | Delegated Proof of Work | 90 | Delegated Proof of Work |
| 91 | ----------------------- | 91 | ----------------------- |
| 92 | 92 | ||
| 93 | Since the `NIP-01` note id does not commit to any signature, PoW can be outsourced to PoW providers, perhaps for a fee. This provides a way for clients to get their messages out to PoW-restricted relays without having to do any work themselves, which is useful for energy constrained devices like on mobile | 93 | Since the `NIP-01` note id does not commit to any signature, PoW can be outsourced to PoW providers, perhaps for a fee. This provides a way for clients to get their messages out to PoW-restricted relays without having to do any work themselves, which is useful for energy-constrained devices like mobile phones. |
| @@ -22,7 +22,7 @@ This NIP formalizes restrictions on event timestamps as accepted by a relay and | |||
| 22 | 22 | ||
| 23 | The event `created_at` field is just a unix timestamp and can be set to a time in the past or future. Relays accept and share events dated to 20 years ago or 50,000 years in the future. This NIP aims to define a way for relays that do not want to store events with *any* timestamp to set their own restrictions. | 23 | The event `created_at` field is just a unix timestamp and can be set to a time in the past or future. Relays accept and share events dated to 20 years ago or 50,000 years in the future. This NIP aims to define a way for relays that do not want to store events with *any* timestamp to set their own restrictions. |
| 24 | 24 | ||
| 25 | [Replaceable events](16.md#replaceable-events) can behave rather unexpected if the user wrote them - or tried to write them - with a wrong system clock. Persisting an update with a backdated system now would result in the update not getting persisted without a notification and if they did the last update with a forward dated system, they will again fail to do another update with the now correct time. | 25 | [Replaceable events](16.md#replaceable-events) can behave rather unexpectedly if the user wrote them - or tried to write them - with a wrong system clock. Persisting an update with a backdated system now would result in the update not getting persisted without a notification and if they did the last update with a forward dated system, they will again fail to do another update with the now correct time. |
| 26 | 26 | ||
| 27 | A wide adoption of this NIP could create a better user experience as it would decrease the amount of events that appear wildly out of order or even from impossible dates in the distant past or future. | 27 | A wide adoption of this NIP could create a better user experience as it would decrease the amount of events that appear wildly out of order or even from impossible dates in the distant past or future. |
| 28 | 28 | ||
| @@ -16,7 +16,7 @@ A reaction with `content` set to `-` SHOULD be interpreted as a "dislike" or | |||
| 16 | "downvote". It SHOULD NOT be counted as a "like", and MAY be displayed as a | 16 | "downvote". It SHOULD NOT be counted as a "like", and MAY be displayed as a |
| 17 | downvote or dislike on a post. A client MAY also choose to tally likes against | 17 | downvote or dislike on a post. A client MAY also choose to tally likes against |
| 18 | dislikes in a reddit-like system of upvotes and downvotes, or display them as | 18 | dislikes in a reddit-like system of upvotes and downvotes, or display them as |
| 19 | separate tallys. | 19 | separate tallies. |
| 20 | 20 | ||
| 21 | The `content` MAY be an emoji, in this case it MAY be interpreted as a "like" or "dislike", | 21 | The `content` MAY be an emoji, in this case it MAY be interpreted as a "like" or "dislike", |
| 22 | or the client MAY display this emoji reaction on the post. | 22 | or the client MAY display this emoji reaction on the post. |
| @@ -43,7 +43,7 @@ Clients SHOULD ignore events that have expired. | |||
| 43 | Relay Behavior | 43 | Relay Behavior |
| 44 | -------------- | 44 | -------------- |
| 45 | 45 | ||
| 46 | Relays MAY NOT delete an expired message immediately on expiration and MAY persist them indefinitely. | 46 | Relays MAY NOT delete expired messages immediately on expiration and MAY persist them indefinitely. |
| 47 | Relays SHOULD NOT send expired events to clients, even if they are stored. | 47 | Relays SHOULD NOT send expired events to clients, even if they are stored. |
| 48 | Relays SHOULD drop any events that are published to them if they are expired. | 48 | Relays SHOULD drop any events that are published to them if they are expired. |
| 49 | An expiration timestamp does not affect storage of ephemeral events. | 49 | An expiration timestamp does not affect storage of ephemeral events. |
| @@ -6,7 +6,7 @@ Event Counts | |||
| 6 | 6 | ||
| 7 | `draft` `optional` `author:staab` | 7 | `draft` `optional` `author:staab` |
| 8 | 8 | ||
| 9 | Relays may support the `COUNT` verb, which provide a mechanism for obtaining event counts. | 9 | Relays may support the `COUNT` verb, which provides a mechanism for obtaining event counts. |
| 10 | 10 | ||
| 11 | ## Motivation | 11 | ## Motivation |
| 12 | 12 | ||
| @@ -10,7 +10,7 @@ A "list" event is defined as having a list of public and/or private tags. Public | |||
| 10 | 10 | ||
| 11 | If a list type should only be defined once per user (like the 'Mute' list), the list type's events should follow the specification for [NIP-16 - Replaceable Events](16.md). These lists may be referred to as 'replaceable lists'. | 11 | If a list type should only be defined once per user (like the 'Mute' list), the list type's events should follow the specification for [NIP-16 - Replaceable Events](16.md). These lists may be referred to as 'replaceable lists'. |
| 12 | 12 | ||
| 13 | Otherwise the list type's events should follow the specification for [NIP-33 - Parameterized Replaceable Events](33.md), where the list name will be used as the 'd' parameter. These lists may be referred to as 'parameterized replaceable lists'. | 13 | Otherwise, the list type's events should follow the specification for [NIP-33 - Parameterized Replaceable Events](33.md), where the list name will be used as the 'd' parameter. These lists may be referred to as 'parameterized replaceable lists'. |
| 14 | 14 | ||
| 15 | ## Replaceable List Event Example | 15 | ## Replaceable List Event Example |
| 16 | 16 | ||
| @@ -8,7 +8,7 @@ Arbitrary custom app data | |||
| 8 | 8 | ||
| 9 | The goal of this NIP is to enable [remoteStorage](https://remotestorage.io/)-like capabilities for custom applications that do not care about interoperability. | 9 | The goal of this NIP is to enable [remoteStorage](https://remotestorage.io/)-like capabilities for custom applications that do not care about interoperability. |
| 10 | 10 | ||
| 11 | Even though interoperability is great, some apps do not want or do not need interoperability, and it that wouldn't make sense for them. Yet Nostr can still serve as a generalized data storage for these apps in a "bring your own database" way, for example: a user would open an app and somehow input their preferred relay for storage, which would then enable these apps to store application-specific data there. | 11 | Even though interoperability is great, some apps do not want or do not need interoperability, and it wouldn't make sense for them. Yet Nostr can still serve as a generalized data storage for these apps in a "bring your own database" way, for example: a user would open an app and somehow input their preferred relay for storage, which would then enable these apps to store application-specific data there. |
| 12 | 12 | ||
| 13 | ## Nostr event | 13 | ## Nostr event |
| 14 | 14 | ||