Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jb55/nostril
A cli util for generating nostr events
https://github.com/jb55/nostril
nostr
Last synced: about 2 months ago
JSON representation
A cli util for generating nostr events
- Host: GitHub
- URL: https://github.com/jb55/nostril
- Owner: jb55
- License: mit
- Created: 2022-04-14T14:56:43.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-02-13T23:40:54.000Z (10 months ago)
- Last Synced: 2024-02-16T05:34:35.102Z (10 months ago)
- Topics: nostr
- Language: C
- Homepage:
- Size: 43.9 KB
- Stars: 101
- Watchers: 5
- Forks: 21
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
- License: COPYING
Awesome Lists containing this project
- awesome-nostr - nostril - C cli tool for creating nostr events (Tools / Client reviews and/or comparisons)
README
nostril(1)
# NAME
nostril - generate nostr events
# SYNPOSIS
*nostril* [OPTIONS...]
# DESCRIPTION
*nostril* is a tool that creates and signs nostr events.
# OPTIONS
*--content*
The text contents of the note*--dm*
Create a direct message. This will create a kind-4 note with the
contents encrypted>*--envelope*
Wrap the event with `["EVENT", ... ]` for easy relaying*--kind*
Set the kind of the note*--created-at*
Set the created at. Optional, this is set automatically.*--sec*
Set the secret key for signing, otherwise one will be randomly generated.*--mine-pubkey*
Mine a pubkey. This may or may not be cryptographically dubious.*--pow*
Number of leading 0 bits of the id the mine for proof-of-work.*--tag*
Add a tag with a single value*--tagn*
Add a tag with 0 or more elements*-t*
Shorthand for --tag t*-p*
Shorthand for --tag p*-e*
Shorthand for --tag e# Examples
*Generate an event*
```
$ ./nostril --sec --content "this is a message"
{
"id": "da9c36bb8206e748cf136af2a43613a5ee113cb5906a09a8d3df5386039d53ab",
"pubkey": "4f6fa8547cf2888415522918175ea0bc0eb473287c5bd7cc459ca440bdf87d97",
"created_at": 1660750302,
"kind": 1,
"tags": [],
"content": "this is a message",
"sig": "3e4d7d93522e54f201a22944d4d37eb4505ef1cf91c278a3f7d312b772a6c6509d1e11f146d5a003265ae10411a20057bade2365501872d2f2f24219730eed87"
}
```*Wrap event to send to a relay*
```
$ ./nostril --envelope --sec --content "hello"
[ "EVENT",
{
"id": "ed378d3fdda785c091e9311c6e6eeb075db349a163c5e38de95946f6013a8001",
"pubkey": "fd3fdb0d0d8d6f9a7667b53211de8ae3c5246b79bdaf64ebac849d5148b5615f",
"created_at": 1649948103,
"kind": 1,
"tags": [],
"content": "hello",
"sig": "9d9a49bbc66d4782030b24c71416965e790214d02a54ab132d960c2b02def0371c3d93e5a60a285c55e99721599d1332450731e2c6bb1114b96b591c6967f872"
} ]
```*Send to a relay*
```
nostril --envelope --sec --content "this is a message" | websocat wss://relay.damus.io
```*Send a nip04 DM*
```
nostril --envelope --dm --sec --content "this is a secret" | websocat wss://relay.damus.io
```*Mine a pubkey*
```
nostril --mine-pubkey --pow
```*Reply to an event. nip10 compliant, includes the `thread_id`*
```
./nostril --envelope --sec --content "this is reply message" --tag e --tag e | websocat wss://relay.damus.io
```