Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/blakejakopovic/nostreq
Nostr relay event request generator
https://github.com/blakejakopovic/nostreq
cli nostr nostr-protocol rust
Last synced: 24 days ago
JSON representation
Nostr relay event request generator
- Host: GitHub
- URL: https://github.com/blakejakopovic/nostreq
- Owner: blakejakopovic
- License: mit
- Created: 2022-12-04T10:23:38.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2023-05-19T10:19:02.000Z (over 1 year ago)
- Last Synced: 2024-05-14T11:06:41.733Z (7 months ago)
- Topics: cli, nostr, nostr-protocol, rust
- Language: Rust
- Homepage:
- Size: 24.4 KB
- Stars: 25
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-nostr - nostreq - Nostr relay event request generator (Tools / Client reviews and/or comparisons)
README
# nostreq
Nostr relay event request generator
## Getting started
Using Cargo to install (requires ~/.cargo/bin to be in PATH)
```shell
$ cargo install nostreq
```Building from source (may be unstable)
```shell
$ git clone https://github.com/blakejakopovic/nostreq
$ cargo build --release
$ ./target/release/nostreq
```## Examples
Note: Comma or space separated multi-values are supported.
Generate a relay request for events with kind 0 or 2
```shell
$ nostreq --kinds 0,2
["REQ", "ec3e6238-5ef3-4162-899c-a58e882e586a", {"kinds":[0,2]}]
```Generate a relay request for events with authors
```shell
$ nostreq --authors pubkey1,pubkey2,pubkey3
["REQ", "2e3479cd-e04d-4e4d-a370-a7c77cf7998e", {"authors":["pubkey1","pubkey2","pubkey3"]}]
```Generate a relay request with multiple filters (OR)
```shell
$ nostreq --authors pubkey1 --limit 1 --or --etags pubkey1
["REQ", "dede0573-ffb4-45e7-a2e7-346178426762", {"authors":["pubkey1"],"limit":1},{"#e":["pubkey1"]}]
```Generate a relay request a custom subscription id
```shell
$ nostreq --subscription-id myspecialsub
["REQ", "myspecialsub", {}]
```Generate a blank relay request with UUID generated subscription id
```shell
$ nostreq
["REQ", "83d1ca68-c629-452c-b045-16197fde2b42", {}]
```## Using with [nostcat](https://github.com/blakejakopovic/nostcat) to request events from relays
```shell
$ nostreq --limit 1 --kinds 1 | nostcat wss://relay.damus.io
["EVENT","515a1980-fdf4-4a42-936b-b64eb7bd1574",{"id":"c7ac087a2ab2e293dd5d75ca344be649983dee263166e1da3a3d806fed4b5240","pubkey":"887645fef0ce0c3c1218d2f5d8e6132a19304cdc57cd20281d082f38cfea0072","created_at":1670150101,"kind":1,"tags":[],"content":"Show HN: Using Vim as an input method editor (IME) for X11 apps https://github.com/algon-320/vime","sig":"d02e6fe1b9c34e33c5182871cfc251680b760860275896965fae08c8a3f007648d9708c0277143f44d41f2e2a1a9fe24a865526be971a26d4347baf01175dfc7"}]
```## Full help text
```shell
$ nostreq --helpUsage: nostreq [OPTIONS]
Options:
--subscription-id
custom request subscription id
--ids [...]
a list of event ids or prefixes
--authors [...]
a list of pubkeys or prefixes, the pubkey of an event must be one of these
--kinds [...]
a list of a kind numbers
--etags [...]
a list of event ids that are referenced in an "e" tag
--ptags [...]
a list of pubkeys that are referenced in a "p" tag
--since
a timestamp, events must be newer than this to pass
--until
a timestamp, events must be older than this to pass
--limit
maximum number of events to be returned in the initial query
-h, --help
Print help information
-V, --version
Print version information
```