nostr/nostril: A cli util for generating nostr events - nostril - PiGit
A cli util for generating nostr events
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Joel Klabo 914e1fd111
Change README to `.md` for Formatting to Work
2 weeks ago
.github/workflows .github/workflows/c-cpp.yml: init config 2 months ago
deps embed libsecp256k1 build 6 months ago
devtools Add missing file 6 months ago
doc include manpage 3 months ago
scripts cleanup scripts 2 months ago
.envrc direnv envrc 7 months ago
.gitignore include manpage 3 months ago
.gitmodules embed libsecp256k1 build 6 months ago
CHANGELOG Release v0.1.0 3 months ago
COPYING add license 6 months ago
Makefile Change README to `.md` for Formatting to Work 2 weeks ago
README.md Change README to `.md` for Formatting to Work 2 weeks ago
aes.c encrypted dms 10 months ago
aes.h encrypted dms 10 months ago
base64.c encrypted dms 10 months ago
base64.h encrypted dms 10 months ago
compiler.h initial commit 10 months ago
configurator.c initial commit 10 months ago
cursor.h initial commit 10 months ago
default.nix nix build 10 months ago
endian.h initial commit 10 months ago
hex.h initial commit 10 months ago
nostril-query nostril-query: fix limit:0 queries 2 months ago
nostril.c Release 0.1.3 3 months ago
proof.h add proof-of-work mining 10 months ago
random.h encrypted dms 10 months ago
sha256.c initial commit 10 months ago
sha256.h initial commit 10 months ago
shell.nix add --mine-pubkey 5 months ago

README.md

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.

--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

-t Shorthand for --tag t

-p Shorthand for --tag p

-e Shorthand for --tag e

Examples

Generate an event

$ ./nostril --sec <key> --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 <key> --content "hello"
[ "EVENT",
{
	"id": "ed378d3fdda785c091e9311c6e6eeb075db349a163c5e38de95946f6013a8001",
	"pubkey": "fd3fdb0d0d8d6f9a7667b53211de8ae3c5246b79bdaf64ebac849d5148b5615f",
	"created_at": 1649948103,
	"kind": 1,
	"tags": [],
	"content": "hello",
	"sig": "9d9a49bbc66d4782030b24c71416965e790214d02a54ab132d960c2b02def0371c3d93e5a60a285c55e99721599d1332450731e2c6bb1114b96b591c6967f872"
} ]

Send to a relay

nostril --envelope --sec <key> --content "this is a message" | websocat wss://relay.damus.io

Send a nip04 DM

nostril --envelope --dm <pubkey> --sec <key> --content "this is a secret" | websocat wss://relay.damus.io

Mine a pubkey

nostril --mine-pubkey --pow <difficulty>

Reply to an event. nip10 compliant, includes the thread_id

./nostril --envelope --sec <key> --content "this is reply message" --tag e <thread_id> --tag e <note_id> | websocat wss://relay.damus.io