From c33dfbc4ef79456f00e4715e83211899edfb50c0 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Thu, 10 Sep 2026 12:10:00 +0900 Subject: [PATCH] README: list the supported NIPs Split into the ones the framework always handles and the ones that depend on the relay implementing Auther or on the storage implementing EventCounter, since that distinction is the part that is not obvious from the code. Note that 12, 15, 16, 20 and 33 are still advertised in the NIP-11 document but no longer exist as separate NIPs. --- README.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/README.md b/README.md index 45fb78f..f35fcae 100644 --- a/README.md +++ b/README.md @@ -4,3 +4,31 @@ There is an example/reference implementation at [basic](/examples/basic/). Binar https://github.com/fiatjaf/relayer/releases). GoDoc + +## Supported NIPs + +These are handled by the framework itself, so every relay built on it gets them: + +| NIP | | +| --- | --- | +| [01](https://github.com/nostr-protocol/nips/blob/master/01.md) | Basic protocol flow (`EVENT`, `REQ`, `CLOSE`, `EOSE`, `OK`, `CLOSED`, `NOTICE`), including what used to be NIPs 12, 15, 16, 20 and 33 | +| [09](https://github.com/nostr-protocol/nips/blob/master/09.md) | Event deletion request | +| [11](https://github.com/nostr-protocol/nips/blob/master/11.md) | Relay information document | +| [67](https://github.com/nostr-protocol/nips/blob/master/67.md) | EOSE completeness hint | +| [77](https://github.com/nostr-protocol/nips/blob/master/77.md) | Negentropy syncing (`NEG-OPEN`, `NEG-MSG`, `NEG-CLOSE`) | + +These depend on what your relay implements: + +| NIP | requires | +| --- | --- | +| [42](https://github.com/nostr-protocol/nips/blob/master/42.md) | `Auther` — authentication of clients to relays | +| [17](https://github.com/nostr-protocol/nips/blob/master/17.md), [59](https://github.com/nostr-protocol/nips/blob/master/59.md) | `Auther` — gift-wrapped events are only served to the pubkey they are addressed to | +| [45](https://github.com/nostr-protocol/nips/blob/master/45.md) | a storage implementing `EventCounter` — `COUNT` | + +The default NIP-11 document reports exactly this set. A relay implementing +`Informationer` replaces the document wholesale and is responsible for its own +`supported_nips`. + +Note that the numbers 12, 15, 16, 20 and 33 still appear in that document for +the benefit of older clients; those NIPs were merged into NIP-01 and no longer +exist on their own.