diff options
Diffstat (limited to '15.md')
| -rw-r--r-- | 15.md | 34 |
1 files changed, 34 insertions, 0 deletions
| @@ -0,0 +1,34 @@ | |||
| 1 | NIP-15 | ||
| 2 | ====== | ||
| 3 | |||
| 4 | End of Stored Events Notice | ||
| 5 | --------------------------- | ||
| 6 | |||
| 7 | `draft` `optional` `author:Semisol` | ||
| 8 | |||
| 9 | Relays may support notifying clients when all stored events have been sent. | ||
| 10 | |||
| 11 | If a client sets `eose_notice` field to `true` in any of the filters in a `REQ` message and the relay supports this NIP, the relay MUST send the client a `EOSE` message in the format `["EN", <subscription_id>]` which indicates that all stored events matching the filters specified have been sent and all events from on are newly published events. | ||
| 12 | |||
| 13 | Example Subscription Filter | ||
| 14 | --------------------------- | ||
| 15 | |||
| 16 | The following provides an example of a filter that requests the `set_metadata` (`0`) event(s) of a pubkey and requests the server to send an end of stored events message. | ||
| 17 | |||
| 18 | ``` | ||
| 19 | { | ||
| 20 | "kinds": [0], | ||
| 21 | "authors": ["52b4a076bcbbbdc3a1aefa3735816cf74993b1b8db202b01c883c58be7fad8bd"], | ||
| 22 | "eose_notice": true | ||
| 23 | } | ||
| 24 | ``` | ||
| 25 | |||
| 26 | Client Behavior | ||
| 27 | --------------- | ||
| 28 | |||
| 29 | Clients SHOULD use the `supported_nips` field to learn if a relay supports end of stored events notices. Clients MAY send filters with `eose_notice` to any relay, if they are prepared to not receive a message from relays that do not support this NIP. | ||
| 30 | |||
| 31 | Motivation | ||
| 32 | ---------- | ||
| 33 | |||
| 34 | The motivation for this proposal is to reduce uncertainty when all events have been sent by a relay to make client code possibly less complex. | ||