2 个版本
0.0.36 | 2024 年 5 月 16 日 |
---|---|
0.0.35 | 2024 年 5 月 16 日 |
#16 in #gnostr
每月 39 次下载
120KB
NIPs
NIPs 代表 Nostr 实现可能性。
它们的存在是为了记录兼容 Nostr 的 中继 和 客户端 软件可能实现的内容。
列表
- NIP-01:基本协议流程描述
- NIP-02:关注列表
- NIP-03:事件的开源时间戳证明
- NIP-04:加密直接消息 --- 不推荐:已被 NIP-17 废弃
- NIP-05:将 Nostr 密钥映射到基于 DNS 的互联网标识符
- NIP-06:从助记词种子短语推导基本密钥
window.nostr
为网页浏览器提供的能力- NIP-08:处理提及 --- 不推荐:已被 NIP-27 废弃
- NIP-09:事件删除
- NIP-10:客户端在文本事件中使用
e
和p
标签的约定 - NIP-11:中继信息文档
- NIP-13:工作量证明
- NIP-14:文本事件中的主题标签
- NIP-15:Nostr 市场(用于弹性市场)
- NIP-17:私密直接消息
- NIP-18:转发
- NIP-19:bech32 编码实体
- NIP-21:
nostr:
URI 方案 - NIP-23:长格式内容
- NIP-24:额外的元数据和标签字段
- NIP-25:反应
- NIP-26:委托事件签名
- NIP-27:文本笔记引用
- NIP-28:公共聊天
- NIP-29:基于中继的群组
- NIP-30:自定义表情符号
- NIP-31:处理未知事件
- NIP-32:标签
- NIP-34:
git
相关内容 - NIP-36:敏感内容
- NIP-38:用户状态
- NIP-39:个人资料中的外部身份
- NIP-40:过期时间戳
- NIP-42:客户端对中继的认证
- NIP-44:版本化加密
- NIP-45:计数结果
- NIP-46:Nostr Connect
- NIP-47:Wallet Connect
- NIP-48:代理标签
- NIP-49:私钥加密
- NIP-50:搜索功能
- NIP-51:列表
- NIP-52:日历事件
- NIP-53:实时活动
- NIP-54:Wiki
- NIP-56:报告
- NIP-57:Lightning Zaps
- NIP-58:徽章
- NIP-59:包装礼物
- NIP-65:中继列表元数据
- NIP-72:受控社区
- NIP-75:Zap目标
- NIP-78:特定应用程序数据
- NIP-84:高亮内容
- NIP-89:推荐的应用程序处理器
- NIP-90:数据销售机
- NIP-92:媒体附件
- NIP-94:文件元数据
- NIP-96:HTTP文件存储集成
- NIP-98:HTTP认证
- NIP-99:分类列表
事件类型
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 的标准
- 它们应在至少两个客户端和一个中继中实现——当适用时。
- 它们应该有意义。
- 它们应该是可选的并且向后兼容:必须注意,选择不实现它们的客户端和中继在与选择实现它们的客户端和中继交互时不会停止工作。
- 不应该有超过一种做同样事情的方式。
- 当需要时,将制定其他规则。
这个仓库是否是中心化因素?
为了促进互操作性,我们需要大家都遵循的标准,我们需要它们定义一个做每件事的唯一方式,而永远不会伤害向后兼容性,为此,没有其他方法可以绕过让每个人都达成共识并维护这些标准的集中索引。然而,这样的索引存在并不会伤害Nostr的去中心化。 在任何时候,如果中央索引未能满足协议的需求,都可以对其进行挑战,并且它可以迁移到其他地方并由其他人维护。
甚至可以分叉成多个,然后一些客户端会走一条路,其他客户端会走另一条路,一些客户端会遵循两个竞争标准。这会稍微损害Nostr的简单性、开放性和互操作性,但短期内一切仍然可以工作。
有一份知名Nostr软件开发者名单,他们有权访问此存储库,但这主要出于实际原因,因为我们处理的事物的本质,存储库所有者可以撤销成员资格并随意重写历史,如果这些行为是不正当的或被认为是坏的或邪恶的,社区必须作出反应。
这个仓库如何工作
标准可能以两种方式出现:第一种方式是有人开始做某事,然后其他人效仿;第二种方式是有人想到一个可能惠及多个客户和协议整体、同时不破坏 向后兼容性 和 单一操作方式 原则的新标准,然后他们将这个想法写成文档并提交到这个仓库,其他感兴趣的相关方阅读并给出反馈,然后在大多数人合理同意后,我们将它编纂成NIP,感兴趣的客户和中继开发者可以继续实施。
这个仓库支持这两种标准化方式。虽然第二种方式更受欢迎,但会努力将此仓库之外出现的标准编纂成NIP,以便其他人可以稍后参考、轻松理解和实施——但显然,在任何人类体系中,在考虑标准是否有害时都可能需要运用判断力。
破坏性变化
许可证
所有NIP都是公共领域。