diff options
| author | Pablo Fernandez <p@f7z.io> | 2023-11-23 17:52:48 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-23 17:52:48 +0200 |
| commit | 60256a62675a165c4d4fd9811a19a9cbf6a9e7fd (patch) | |
| tree | 5c450154d373caafc37f324dd01e20338308c9d6 /65.md | |
| parent | 43d50ee42409252a1313928cd437d55fd7bf7bf4 (diff) | |
| parent | 7822a8b12670312aff104ddc03066425882f739d (diff) | |
Merge branch 'master' into nip88
Diffstat (limited to '65.md')
| -rw-r--r-- | 65.md | 17 |
1 files changed, 9 insertions, 8 deletions
| @@ -4,11 +4,11 @@ NIP-65 | |||
| 4 | Relay List Metadata | 4 | Relay List Metadata |
| 5 | ------------------- | 5 | ------------------- |
| 6 | 6 | ||
| 7 | `draft` `optional` `author:mikedilger` `author:vitorpamplona` | 7 | `draft` `optional` |
| 8 | 8 | ||
| 9 | Defines a replaceable event using `kind:10002` to advertise preferred relays for discovering a user's content and receiving fresh content from others. | 9 | Defines a replaceable event using `kind:10002` to advertise preferred relays for discovering a user's content and receiving fresh content from others. |
| 10 | 10 | ||
| 11 | The event MUST include a list of `r` tags with relay URIs and a `read` or `write` marker. If the marker is omitted, the relay is used for both purposes. | 11 | The event MUST include a list of `r` tags with relay URIs and a `read` or `write` marker. Relays marked as `read` / `write` are called READ / WRITE relays, respectively. If the marker is omitted, the relay is used for both purposes. |
| 12 | 12 | ||
| 13 | The `.content` is not used. | 13 | The `.content` is not used. |
| 14 | 14 | ||
| @@ -23,26 +23,27 @@ The `.content` is not used. | |||
| 23 | ], | 23 | ], |
| 24 | "content": "", | 24 | "content": "", |
| 25 | ...other fields | 25 | ...other fields |
| 26 | } | ||
| 26 | ``` | 27 | ``` |
| 27 | 28 | ||
| 28 | This NIP doesn't fully replace relay lists that are designed to configure a client's usage of relays (such as `kind:3` style relay lists). Clients MAY use other relay lists in situations where a `kind:10002` relay list cannot be found. | 29 | This NIP doesn't fully replace relay lists that are designed to configure a client's usage of relays (such as `kind:3` style relay lists). Clients MAY use other relay lists in situations where a `kind:10002` relay list cannot be found. |
| 29 | 30 | ||
| 30 | ## When to Use Read and Write | 31 | ## When to Use Read and Write Relays |
| 31 | 32 | ||
| 32 | When seeking events **from** a user, Clients SHOULD use the WRITE relays of the user's `kind:10002` | 33 | When seeking events **from** a user, Clients SHOULD use the WRITE relays of the user's `kind:10002`. |
| 33 | 34 | ||
| 34 | When seeking events **about** a user, where the user was tagged, Clients SHOULD use the READ relays of the user's `kind:10002` | 35 | When seeking events **about** a user, where the user was tagged, Clients SHOULD use the READ relays of the user's `kind:10002`. |
| 35 | 36 | ||
| 36 | When broadcasting an event, Clients SHOULD: | 37 | When broadcasting an event, Clients SHOULD: |
| 37 | 38 | ||
| 38 | - Broadcast the event to the WRITE relays of the author | 39 | - Broadcast the event to the WRITE relays of the author |
| 39 | - Broadcast the event all READ relays of each tagged user. | 40 | - Broadcast the event all READ relays of each tagged user |
| 40 | 41 | ||
| 41 | ## Motivation | 42 | ## Motivation |
| 42 | 43 | ||
| 43 | The old model of using a fixed relay list per user centralizes in large relay operators: | 44 | The old model of using a fixed relay list per user centralizes in large relay operators: |
| 44 | 45 | ||
| 45 | - Most users submit their posts to the same highly popular relays, aiming to achieve greater visibility among a broader audience. | 46 | - Most users submit their posts to the same highly popular relays, aiming to achieve greater visibility among a broader audience |
| 46 | - Many users are pulling events from a large number of relays in order to get more data at the expense of duplication | 47 | - Many users are pulling events from a large number of relays in order to get more data at the expense of duplication |
| 47 | - Events are being copied between relays, oftentimes to many different relays | 48 | - Events are being copied between relays, oftentimes to many different relays |
| 48 | 49 | ||
| @@ -52,7 +53,7 @@ This NIP allows Clients to connect directly with the most up-to-date relay set f | |||
| 52 | 53 | ||
| 53 | 1. Clients SHOULD guide users to keep `kind:10002` lists small (2-4 relays). | 54 | 1. Clients SHOULD guide users to keep `kind:10002` lists small (2-4 relays). |
| 54 | 55 | ||
| 55 | 2. Clients SHOULD spread an author's `kind:10002` events to as many relays as viable. | 56 | 2. Clients SHOULD spread an author's `kind:10002` event to as many relays as viable. |
| 56 | 57 | ||
| 57 | 3. `kind:10002` events should primarily be used to advertise the user's preferred relays to others. A user's own client may use other heuristics for selecting relays for fetching data. | 58 | 3. `kind:10002` events should primarily be used to advertise the user's preferred relays to others. A user's own client may use other heuristics for selecting relays for fetching data. |
| 58 | 59 | ||