mirror of
https://github.com/nostr-protocol/nips.git
synced 2024-12-23 17:05:51 -05:00
Improves the text and changes to SREQ requests
This commit is contained in:
parent
8dc12c1ba5
commit
fa038a8671
34
63.md
34
63.md
|
@ -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.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user