2 个版本

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

#16 in #gnostr

每月 39 次下载

Apache-2.0

120KB

NIPs

NIPs 代表 Nostr 实现可能性

它们的存在是为了记录兼容 Nostr 的 中继客户端 软件可能实现的内容。



列表

事件类型

kind 描述 NIP
0 元数据 01
1 简短文本注释 01
2 推荐中继 01(已弃用)
3 关注 02
4 加密直接消息 04
5 事件删除 09
6 转发 18
7 反应 25
8 徽章授予 58
9 群聊消息 29
10 群聊线程回复 29
11 群组线程 29
12 群组线程回复 29
13 印章 59
14 直接消息 17
16 通用转发 18
40 创建频道 28
41 频道元数据 28
42 频道消息 28
43 隐藏频道消息 28
44 静音用户 28
1021 投标 15
1022 投标确认 15
1040 OpenTimestamps 03
1059 包装礼物 59
1063 文件元数据 94
1311 实时聊天消息 53
1617 补丁 34
1621 问题 34
1622 回复 34
1630-1633 状态 34
1971 问题跟踪器 nostrocket
1984 报告 56
1985 标签 32
4550 社区帖子审批 72
5000-5999 工作请求 90
6000-6999 工作结果 90
7000 工作反馈 90
9000-9030 群组控制事件 29
9041 Zap目标 75
9734 Zap请求 57
9735 Zap 57
9802 高亮内容 84
10000 静音列表 51
10001 置顶列表 51
10002 中继列表元数据 65
10003 书签列表 51
10004 社区列表 51
10005 公开聊天列表 51
10006 被阻止的中继列表 51
10007 搜索中继列表 51
10009 用户组 51, 29
10015 兴趣列表 51
10030 用户表情符号列表 51
10050 接收直接消息的中继列表 17
10096 文件存储服务器列表 96
13194 钱包信息 47
21000 Lightning Pub RPC Lightning.Pub
22242 客户端认证 42
23194 钱包请求 47
23195 钱包响应 47
24133 Nostr Connect 46
27235 HTTP认证 98
30000 关注集 51
30001 通用列表 51
30002 中继集 51
30003 书签集 51
30004 精选集 51
30008 个人资料徽章 58
30009 徽章定义 58
30015 兴趣集 51
30017 创建或更新摊位 15
30018 创建或更新产品 15
30019 市场UI/UX 15
30020 拍卖销售的产品 15
30023 长篇内容 23
30024 草稿长篇内容 23
30030 表情符号集 51
30063 发布物集 51
30078 特定应用程序数据 78
30311 实时活动 53
30315 用户状态 38
30402 分类列表 99
30403 草稿分类列表 99
30617 存储库公告 34
30818 Wiki文章 54
31922 基于日期的日历事件 52
31923 基于时间的日历事件 52
31924 日历 52
31925 日历事件RSVP 52
31989 处理器推荐 89
31990 处理器信息 89
34550 社区定义 72
39000-9 群组元数据事件 29

消息类型

客户端到中继

type 描述 NIP
EVENT 用于发布事件 01
REQ 用于请求事件和订阅新更新 01
CLOSE 用于停止之前的订阅 01
AUTH 用于发送认证事件 42
COUNT 用于请求事件计数 45

中继到客户端

type 描述 NIP
EOSE 用于通知客户端所有存储的事件都已发送 01
EVENT 用于向客户端发送请求的事件 01
NOTICE 用于向客户端发送可读性消息 01
OK 用于通知客户端事件是否成功 01
CLOSED 用于通知客户端请求已结束及其原因 01
AUTH 用于发送身份验证挑战 42
COUNT 用于向客户端发送请求的事件数量 45

在提出引入新事件类型的NIP时,请更新这些列表。

标准化标签

名称 其他参数 NIP
e 事件ID(十六进制) 中继URL,标记 01, 10
p 公钥(十六进制) 中继URL,昵称 01, 02
a 事件坐标 中继URL 01
d 标识符 -- 01
g geohash -- 52
i 身份 证明 39
k 类型编号(字符串) -- 18, 25, 72
l 标签,标签命名空间 注释 32
L 标签命名空间 -- 32
m MIME类型 -- 94
q 事件ID(十六进制) 中继URL 18
r 参考(URL等) 昵称
r 中继URL 标记 65
t 哈希标签 --
alt 摘要 -- 31
金额 毫satoshis,字符串化 -- 57
bolt11 bolt11发票 -- 57
挑战 挑战字符串 -- 42
客户端 名称,地址 中继URL 89
克隆 git克隆URL -- 34
内容警告 原因 -- 36
委托 公钥,条件,委托令牌 -- 26
描述 描述 -- 34, 57, 58
表情符号 简码,图像URL -- 30
加密 -- -- 90
过期 Unix时间戳(字符串) -- 40
目标 事件ID(十六进制) 中继URL 75
图像 图像URL 像素尺寸 23, 58
imeta 内联元数据 -- 92
lnurl bech32编码的lnurl -- 57
位置 位置字符串 -- 52, 99
名称 名称 -- 34, 58
nonce 随机 -- 13
预图像 bolt11发票的哈希 -- 57
价格 价格 货币,频率 99
代理 外部ID 协议 48
发布时间 Unix时间戳(字符串) -- 23
中继 中继URL -- 42, 17
中继 中继列表 -- 57
服务器 文件存储服务器URL -- 96
主题 主题 -- 14, 17
摘要 文章摘要 -- 23
缩略图 徽章缩略图 像素尺寸 58
标题 文章标题 -- 23
网络 网页URL -- 34
zap 公钥(十六进制),中继URL 权重 57

接受 NIPs 的标准

  1. 它们应在至少两个客户端和一个中继中实现——当适用时。
  2. 它们应该有意义。
  3. 它们应该是可选的并且向后兼容:必须注意,选择不实现它们的客户端和中继在与选择实现它们的客户端和中继交互时不会停止工作。
  4. 不应该有超过一种做同样事情的方式。
  5. 当需要时,将制定其他规则。

这个仓库是否是中心化因素?

为了促进互操作性,我们需要大家都遵循的标准,我们需要它们定义一个做每件事的唯一方式,而永远不会伤害向后兼容性,为此,没有其他方法可以绕过让每个人都达成共识并维护这些标准的集中索引。然而,这样的索引存在并不会伤害Nostr的去中心化。 在任何时候,如果中央索引未能满足协议的需求,都可以对其进行挑战,并且它可以迁移到其他地方并由其他人维护。

甚至可以分叉成多个,然后一些客户端会走一条路,其他客户端会走另一条路,一些客户端会遵循两个竞争标准。这会稍微损害Nostr的简单性、开放性和互操作性,但短期内一切仍然可以工作。

有一份知名Nostr软件开发者名单,他们有权访问此存储库,但这主要出于实际原因,因为我们处理的事物的本质,存储库所有者可以撤销成员资格并随意重写历史,如果这些行为是不正当的或被认为是坏的或邪恶的,社区必须作出反应。

这个仓库如何工作

标准可能以两种方式出现:第一种方式是有人开始做某事,然后其他人效仿;第二种方式是有人想到一个可能惠及多个客户和协议整体、同时不破坏 向后兼容性单一操作方式 原则的新标准,然后他们将这个想法写成文档并提交到这个仓库,其他感兴趣的相关方阅读并给出反馈,然后在大多数人合理同意后,我们将它编纂成NIP,感兴趣的客户和中继开发者可以继续实施。

这个仓库支持这两种标准化方式。虽然第二种方式更受欢迎,但会努力将此仓库之外出现的标准编纂成NIP,以便其他人可以稍后参考、轻松理解和实施——但显然,在任何人类体系中,在考虑标准是否有害时都可能需要运用判断力。

破坏性变化

破坏性变化

许可证

所有NIP都是公共领域。

贡献者

无运行时依赖