用的 schnorr 算法进行签名

Reply to this note

Please Login to reply.

Discussion

AI 给的答案不一样

Llama 3.3 70B

Nostr协议要求事件ID是事件内容的SHA-256哈希值,而不是Schnorr签名。

在Nostr协议中,事件ID的计算方式是:

python

event_id = hashlib.sha256(event_json.encode('utf-8')).hexdigest()

其中,event_json是事件内容的JSON字符串。

如果你想使用Schnorr签名作为事件ID,你需要修改Nostr协议的实现,这可能会导致兼容性问题。

如果你想使用Schnorr签名作为事件的签名,你可以在事件内容中添加一个新的字段,例如sig,来存储Schnorr签名。例如:

python

event = {

"id": event_id,

"pubkey": nostr_pubkey,

"created_at": created_at,

"kind": kind,

"tags": tags,

"content": content,

"sig": schnorr_signature

}

其中,schnorr_signature是使用Schnorr私钥对事件内容进行签名的结果。

总之,Nostr协议要求事件ID是事件内容的SHA-256哈希值,而不是Schnorr签名。如果你想使用Schnorr签名,你需要修改Nostr协议的实现或在事件内容中添加一个新的字段来存储Schnorr签名。

id 是 sha256

sig 是 schnorr 签名