news 2026/7/19 17:48:15

Iris Messenger 支持的 NIPs 协议清单:从 NIP-01 到 NIP-57 全解读

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Iris Messenger 支持的 NIPs 协议清单:从 NIP-01 到 NIP-57 全解读

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.encryptnip04.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

  1. 克隆仓库:git clone https://gitcode.com/gh_mirrors/ir/iris-messenger
  2. 安装依赖:yarn install
  3. 启动应用: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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/19 17:39:31

HarmonyOS7基础字母索引页实战:AlphabetIndexer 基础结构与字母定位逻辑

文章目录前言页面骨架其实比参数更重要看懂状态&#xff0c;比看懂样式更重要真正决定页面行为的是这些函数第一段关键代码&#xff1a;页面是怎么被带起来的第二段关键代码&#xff1a;真正决定交互手感的地方这一页我建议这样上手从示例到项目&#xff0c;中间这几步别省这类…

作者头像 李华
网站建设 2026/7/19 17:37:18

TVA与世界模型共创具身智能“类脑想象力”(10)

前沿技术探索&#xff1a;AI智能体视觉&#xff08;TVA&#xff0c;Transformer-based Vision Agent&#xff09;是依托Transformer架构与“因式智能体”理论所构建的颠覆性工业视觉技术&#xff0c;是集深度强化学习&#xff08;DRL&#xff09;、卷积神经网络&#xff08;CNN…

作者头像 李华
网站建设 2026/7/19 17:35:15

Nginx编译安装

一、安装前提 1.需要操作系统内核需要在2.6版本以上&#xff0c;因为Linux2.6及以上内核才支持epoll&#xff0c;而nginx高并发需要用到epoll 查询linux的内核版本 uname -aLinux myserver 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GN…

作者头像 李华
网站建设 2026/7/19 17:33:45

如何在浏览器中快速处理GBK编码?终极轻量级解决方案GBK.js详解

如何在浏览器中快速处理GBK编码&#xff1f;终极轻量级解决方案GBK.js详解 【免费下载链接】GBK.js 小而快的GBK库&#xff0c;支持浏览器端 项目地址: https://gitcode.com/gh_mirrors/gb/GBK.js GBK.js是一款专为浏览器设计的轻量级GBK编码库&#xff0c;通过创新的压…

作者头像 李华
网站建设 2026/7/19 17:33:25

终极FGO助手Chaldea:从素材规划到战斗模拟的完整指南

终极FGO助手Chaldea&#xff1a;从素材规划到战斗模拟的完整指南 【免费下载链接】chaldea Chaldea - Yet Another Material Planner and Battle Simulator for Fate/Grand Order aka FGO 项目地址: https://gitcode.com/gh_mirrors/ch/chaldea Chaldea是一款专为Fate/G…

作者头像 李华