Nostr协议基础:事件、签名和通信

2024-12-23

Nostr协议的NIP-01文档描述了其核心机制。每个用户拥有密钥对,使用secp256k1曲线上的Schnorr签名进行签名。协议的核心是事件,包含ID、公钥、时间戳、类型、标签、内容和签名等字段。事件ID是序列化事件数据的SHA256哈希值。标签用于引用其他事件或用户,定义了三种标准标签:e(引用事件)、p(引用用户)、a(引用可寻址事件)。事件类型定义了事件的含义,NIP-01定义了两种基本类型:用户元数据和文本笔记,并规定了不同类型范围的事件处理方式(常规、可替换、短暂和可寻址)。客户端通过websocket与中继器通信,发送事件、请求事件和关闭订阅。中继器返回匹配过滤器的事件,并发送OK、EOSE、CLOSED和NOTICE消息。