Iris Messenger 支持的 NIPs 协议清单:从 NIP-01 到 NIP-57 全解读
【免费下载链接】iris-messengerDecentralized messenger项目地址: https://gitcode.com/gh_mirrors/ir/iris-messenger
Iris Messenger 是一款基于 Nostr 协议的去中心化即时通讯工具,通过支持多种 NIPs(Nostr 改进提案)协议,为用户提供安全、自由且功能丰富的社交体验。本文将详细介绍 Iris Messenger 支持的核心 NIPs 协议,帮助新手用户理解其背后的技术原理与实际应用。
图:Iris Messenger 连接 Nostr 网络的可视化展示,体现了去中心化通信的核心架构
基础协议:NIP-01 与 NIP-04
NIP-01:基础协议框架
作为 Nostr 协议的基石,NIP-01 定义了事件结构、客户端-中继器通信方式和基本数据验证规则。在 Iris Messenger 中,所有用户交互(如发送消息、更新资料)都通过 NIP-01 标准化的事件格式进行处理。
核心实现文件:
- src/js/nostr/Events.ts:事件处理逻辑
- src/js/nostr/PubSub.ts:发布订阅系统
NIP-04:加密私信
NIP-04 提供端到端加密的私信功能,确保用户间的私密通信不被中继器或第三方读取。Iris Messenger 通过nip04.encrypt和nip04.decrypt方法实现这一功能,所有私信内容在传输前均经过加密处理。
实现代码示例:
// 加密私信 async encrypt(data: string, pub?: string): Promise<string> { if (this.key.priv) { return nip04.encrypt(this.key.priv, pub as string, data); } // 扩展支持浏览器扩展加密 }身份与社交关系:NIP-05 与 NIP-27
NIP-05:域名验证身份
NIP-05 允许用户将公钥与域名关联,提供更易记的身份标识(如user@example.com)。Iris Messenger 在 src/js/nostr/Key.ts 中实现了 NIP-05 验证逻辑,通过查询域名的.well-known/nostr.json文件确认用户身份。
NIP-27:联系人列表与社交图谱
NIP-27 定义了联系人列表的存储与同步方式。Iris Messenger 在 src/js/nostr/SocialNetwork.ts 中维护了完整的社交关系图谱,包括关注、被关注和黑名单管理。
内容交互:NIP-07、NIP-10 与 NIP-25
NIP-07:浏览器扩展集成
NIP-07 允许网页应用通过浏览器扩展安全访问用户私钥。Iris Messenger 支持通过 Nostr 扩展(如 Alby)进行身份验证和签名,避免用户直接暴露私钥。
NIP-10:回复与引用标记
NIP-10 标准化了消息回复和引用的标签格式。在 Iris Messenger 中,所有回复消息都会添加e标签(事件引用)和p标签(用户引用),确保对话上下文的正确显示。
NIP-25:社交互动(点赞与转发)
NIP-25 定义了点赞(Kind 7)和转发(Kind 6)的事件格式。Iris Messenger 在 src/js/nostr/Events.ts 中实现了这些互动功能,用户可以对消息进行点赞、转发和查看互动统计。
支付与经济:NIP-57 闪电网络 zap
NIP-57 引入了基于闪电网络的小额支付(zap)功能,允许用户直接向内容创作者打赏。Iris Messenger 在 src/js/nostr/Events.ts 中通过处理 Kind 9735 事件实现 zaps 功能,支持查看每条消息的打赏记录。
图:Iris Messenger 中的闪电网络支付功能,支持直接向内容创作者打赏
完整支持的 NIPs 协议清单
| NIP 编号 | 名称 | 功能描述 | 核心实现文件 |
|---|---|---|---|
| NIP-01 | 基础协议 | 事件结构与通信标准 | Events.ts |
| NIP-04 | 加密私信 | 端到端加密通信 | Key.ts |
| NIP-05 | 域名身份 | 域名验证的用户身份 | Key.ts |
| NIP-07 | 扩展集成 | 浏览器扩展密钥管理 | Key.ts |
| NIP-10 | 回复标记 | 消息回复与引用格式 | Events.ts |
| NIP-25 | 社交互动 | 点赞、转发等互动功能 | Events.ts |
| NIP-27 | 联系人列表 | 关注关系管理 | SocialNetwork.ts |
| NIP-57 | 闪电网络 Zap | 小额支付打赏功能 | Events.ts |
如何开始使用 Iris Messenger
- 克隆仓库:
git clone https://gitcode.com/gh_mirrors/ir/iris-messenger - 安装依赖:
yarn install - 启动应用:
yarn dev
通过支持这些核心 NIPs 协议,Iris Messenger 为用户提供了兼容 Nostr 生态的去中心化通信体验。无论是私密聊天、社交互动还是内容创作,Iris Messenger 都能满足你对自由通信的需求。
提示:定期查看 src/js/nostr/ 目录下的更新,了解 Iris Messenger 对新 NIPs 协议的支持情况。
【免费下载链接】iris-messengerDecentralized messenger项目地址: https://gitcode.com/gh_mirrors/ir/iris-messenger
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考