3 个版本

0.0.40 2024 年 5 月 17 日
0.0.36 2024 年 5 月 16 日
0.0.35 2024 年 5 月 16 日

5#gnostr 中排名

每月下载 31

Apache-2.0 许可

110KB
2K SLoC

gnostr(1)

名称

gnostr - 一个 git nostr 工具

概要

gnostr [选项...]

描述

gnostr 是一个创建和签名 nostr 事件的工具。

选项

--content 笔记的文本内容

--dm 创建一个直接消息。这将创建一个类型为 4 的笔记,内容被加密

--envelope 使用 ["EVENT", ... ] 包装事件,以便轻松中继

--kind 设置笔记的类型

--created-at 设置创建时间。可选,此选项将自动设置。

--mine-pubkey 挖掘公钥。这可能或可能不是密码学上可疑的。

--pow 挖掘用于工作证明的 ID 的前导 0 比特数

--tag 添加一个带单个值的标签

-t --tag t 的缩写

-p --tag p 的缩写

-e --tag e 的缩写

示例

生成一个事件

$ ./gnostr --sec <key> --content "this is a message"
{
	"id": "da9c36bb8206e748cf136af2a43613a5ee113cb5906a09a8d3df5386039d53ab",
	"pubkey": "4f6fa8547cf2888415522918175ea0bc0eb473287c5bd7cc459ca440bdf87d97",
	"created_at": 1660750302,
	"kind": 1,
	"tags": [],
	"content": "this is a message",
	"sig": "3e4d7d93522e54f201a22944d4d37eb4505ef1cf91c278a3f7d312b772a6c6509d1e11f146d5a003265ae10411a20057bade2365501872d2f2f24219730eed87"
}

包装事件以发送到中继

$ ./gnostr --envelope --sec <key> --content "hello"
[ "EVENT",
{
	"id": "ed378d3fdda785c091e9311c6e6eeb075db349a163c5e38de95946f6013a8001",
	"pubkey": "fd3fdb0d0d8d6f9a7667b53211de8ae3c5246b79bdaf64ebac849d5148b5615f",
	"created_at": 1649948103,
	"kind": 1,
	"tags": [],
	"content": "hello",
	"sig": "9d9a49bbc66d4782030b24c71416965e790214d02a54ab132d960c2b02def0371c3d93e5a60a285c55e99721599d1332450731e2c6bb1114b96b591c6967f872"
} ]

发送到中继

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

发送一个 nip04 DM

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

挖掘一个公钥

gnostr --mine-pubkey --pow <difficulty>

回复一个事件。nip10 兼容,包括 thread_id

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

依赖项

~41–77MB
~1.5M SLoC