Improves the text and changes to SREQ requests

This commit is contained in:
Vitor Pamplona 2024-03-31 11:12:59 -04:00
parent 8dc12c1ba5
commit fa038a8671

34
63.md
View File

@ -8,26 +8,38 @@ Signed Filters
This NIP declares the use of event kind `33012` to represent one or more Nostr filters. This NIP declares the use of event kind `33012` to represent one or more Nostr filters.
The `d` tag represents the subscription id and the `filter` tag contains the JSON-stringified (NIP-01)[01.md] filter. The `d` tag represents the subscription id and the `filter` tag contains the JSON-stringified [NIP-01](01.md) filter.
Supporting relays interpret the tags of this event as if they were submitted in the `REQ` scheme while automatically authenticating the signer. The relay MUST delete these events after the connection closes. ```js
They are submitted to the relay via `EVENT` messages instead of the usual `REQ` message.
The goal is to be able to support `AUTH` from multiple users in the same connection while removing the usual `AUTH` round trip.
```json
{ {
"kind": 33012, "kind": 33012,
"tags": [ "tags": [
["d", "<subscription_id>"], ["d", "<subscription_id>"],
["filter", "<filters1>"], ["relay", "<relay>"],
["filter", "<filters2>"], ["filter", "<filter1>"],
["filter", "<filter2>"],
["expiration", "<unix timestamp>"],
], ],
"content": "", "content": "",
...other fields // ...other fields
} }
``` ```
They are submitted to supporting relays via `SREQ` command, with the following format:
```js
["SREQ", <signed kind-33012>]
```
Supporting relays interpret the `filter` tags of this event in the same way they do with `REQ` while automatically authenticating the signer.
Relays MAY reject these filters based on `created_at`.
An expiration tag MAY be used to limit the reuse of the filter.
## Motivation
The goal is to be able to support `AUTH` from multiple users in the same connection. As a side effect, this approach removes the `AUTH` round trip.
Trusted proxies can use these event types to query relays on behalf of the user.