From a787093c528a6c2727d90b98d44ff0b17ee77c33 Mon Sep 17 00:00:00 2001 From: Semisol Date: Thu, 26 May 2022 20:21:23 +0300 Subject: [PATCH] nip15: create draft --- 15.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 15.md diff --git a/15.md b/15.md new file mode 100644 index 00000000..9c7c3410 --- /dev/null +++ b/15.md @@ -0,0 +1,34 @@ +NIP-15 +====== + +End of Stored Events Notice +--------------------------- + +`draft` `optional` `author:Semisol` + +Relays may support notifying clients when all stored events have been sent. + +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", ]` which indicates that all stored events matching the filters specified have been sent and all events from on are newly published events. + +Example Subscription Filter +--------------------------- + +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. + +``` +{ + "kinds": [0], + "authors": ["52b4a076bcbbbdc3a1aefa3735816cf74993b1b8db202b01c883c58be7fad8bd"], + "eose_notice": true +} +``` + +Client Behavior +--------------- + +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. + +Motivation +---------- + +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.