diff options
Diffstat (limited to '45.md')
| -rw-r--r-- | 45.md | 21 |
1 files changed, 14 insertions, 7 deletions
| @@ -16,29 +16,36 @@ Some queries a client may want to execute against connected relays are prohibiti | |||
| 16 | 16 | ||
| 17 | This NIP defines the verb `COUNT`, which accepts a subscription id and filters as specified in [NIP 01](01.md) for the verb `REQ`. Multiple filters are OR'd together and aggregated into a single count result. | 17 | This NIP defines the verb `COUNT`, which accepts a subscription id and filters as specified in [NIP 01](01.md) for the verb `REQ`. Multiple filters are OR'd together and aggregated into a single count result. |
| 18 | 18 | ||
| 19 | ``` | 19 | ```json |
| 20 | ["COUNT", <subscription_id>, <filters JSON>...] | 20 | ["COUNT", <subscription_id>, <filters JSON>...] |
| 21 | ``` | 21 | ``` |
| 22 | 22 | ||
| 23 | Counts are returned using a `COUNT` response in the form `{"count": <integer>}`. Relays may use probabilistic counts to reduce compute requirements. | 23 | Counts are returned using a `COUNT` response in the form `{"count": <integer>}`. Relays may use probabilistic counts to reduce compute requirements. |
| 24 | In case a relay uses probabilistic counts, it MAY indicate it in the response with `approximate` key i.e. `{"count": <integer>, "approximate": <true|false>}`. | 24 | In case a relay uses probabilistic counts, it MAY indicate it in the response with `approximate` key i.e. `{"count": <integer>, "approximate": <true|false>}`. |
| 25 | 25 | ||
| 26 | ``` | 26 | ```json |
| 27 | ["COUNT", <subscription_id>, {"count": <integer>}] | 27 | ["COUNT", <subscription_id>, {"count": <integer>}] |
| 28 | ``` | 28 | ``` |
| 29 | 29 | ||
| 30 | Examples: | 30 | ## Examples: |
| 31 | 31 | ||
| 32 | ``` | 32 | ### Followers count |
| 33 | # Followers count | 33 | |
| 34 | ```json | ||
| 34 | ["COUNT", <subscription_id>, {"kinds": [3], "#p": [<pubkey>]}] | 35 | ["COUNT", <subscription_id>, {"kinds": [3], "#p": [<pubkey>]}] |
| 35 | ["COUNT", <subscription_id>, {"count": 238}] | 36 | ["COUNT", <subscription_id>, {"count": 238}] |
| 37 | ``` | ||
| 36 | 38 | ||
| 37 | # Count posts and reactions | 39 | ### Count posts and reactions |
| 40 | |||
| 41 | ```json | ||
| 38 | ["COUNT", <subscription_id>, {"kinds": [1, 7], "authors": [<pubkey>]}] | 42 | ["COUNT", <subscription_id>, {"kinds": [1, 7], "authors": [<pubkey>]}] |
| 39 | ["COUNT", <subscription_id>, {"count": 5}] | 43 | ["COUNT", <subscription_id>, {"count": 5}] |
| 44 | ``` | ||
| 40 | 45 | ||
| 41 | # Count posts approximately | 46 | ### Count posts approximately |
| 47 | |||
| 48 | ``` | ||
| 42 | ["COUNT", <subscription_id>, {"kinds": [1]}] | 49 | ["COUNT", <subscription_id>, {"kinds": [1]}] |
| 43 | ["COUNT", <subscription_id>, {"count": 93412452, "approximate": true}] | 50 | ["COUNT", <subscription_id>, {"count": 93412452, "approximate": true}] |
| 44 | ``` | 51 | ``` |