{
"type": "note",
"title": "去中心化协议Nostr-系列004",
"tags": [
"post",
"Mirror.xyz"
],
"sources": [
"xlog"
],
"external_urls": [
"https://hoodrh.xlog.app/qu-zhong-xin-hua-xie-yi-Nostr--xi-lie-004",
"https://mirror.xyz/0xa6097a4adf23553623a7917bbbb28c7bb2a7775c/ibbUHYt1kAOi4TABpNdv4zVaL4lRGpcWWJnL2auFvpU"
],
"date_published": "2023-02-21T16:05:40.000Z",
"content": "> 因为在中文区没有搜到较为详细的对于Nostr协议网络的文章,所以准备自己写一个系列。这是本系列文章的第四篇,讲一下Nostr网络中域名Nip-05的配置方法及NIP标准。\n\n在[第二篇](https://mirror.xyz/hoodrh.eth/To9zIrUwS7Je29ZrCJJ4WE3g25GnPXkPW3N6EFRgsDs)中我们讲了一下新手入门Nostr网络时如何使用社交应用,为了让大家先用起来,在实际的操作中去感受nostr网络上的气氛,同时也降低大家的准入门槛,所以对NIP-05只是提了一下(个人主页信息设置那里),今天就专门来讲一下NIP-05是什么以及如何设置,在此基础上也会对NIP标准进行简单的介绍。\n\n## NIP-05\n\n### NIP-05是什么?\n\n**简单点来说**,NIP-05就是给每个用户设置的相比于公钥更容易识别的ID名。\n\n我们知道在Nostr网络中每个用户的ID是一长串不规则的文字,也就是公钥。如果我要在Nostr网络中寻找用户A,必须搜索A的公钥才能找到Ta。但是公钥太长了,不方便保存和传播,同时也不便于人类对其进行辨识,于是便出现了解决方案-用一个更为人类可读的名字绑定在公钥上。\n\n**专业点说**,NIP-05 使 Nostr 用户能够将自己的公钥映射到基于 DNS 的互联网标识符。验证机制类似于 Google 要求您使用 DNS 记录验证您对域的所有权的方式。 验证的主要好处是它允许通过人类可读的名称来识别 Nostr 用户,而不是通过长而难以记住的公钥。这使经过验证的 Nostr 用户能够轻松地与他人分享他们的身份。\n\n### NIP-05设置方法\n\n为了拥有一个NIP-05的域名,我们可以通过两种方式来获得它。\n\n1. 在应用端,找到NIP-05的设置框(一般位于个人主页的编辑页面),然后购买官方提供的域名(没买过)。\n\n2. 如果你有自己的域名,那你可以把它验证后绑定到Nostr网络。下面主要是对这种方式的介绍。\n\n比如我的域名是[www.hoodrh.top](https://www.hoodrh.top),我的个人站点是用hexo建立的,所以我会在hexo 的\n\n\\_config.yml文件中的***include***下添加“well-known/\\*\\*”,然后在source文件下建立文件夹“well-known”(官方说建立“.well-known”但是Mac系统的点文件是留给系统的),然后在“well-known”文件夹下建立一个“nostr.json”文件即可。JS文件的内容为:\n\n```\n{\n \"names\": {\n \"hoodrh\": //你自己的nostr网络username\n\"npub1e9euzeaeyten7926t2ecmuxkv3l55vefz48jdlsqgcjzwnvykfusmj820c\" //你的公钥ID\n }\n}\n```\n\n然后将文件保存并上传hexo即可。然后我就得到了NIP-05的地址:[email protected],也就是“usernam@自己的域名”。\n\n![](https://images.mirror-media.xyz/publication-images/0rZ9zT6bu7hPH2_lxXhtc.png?height=190&width=928)\n\n### 可以不设置NIP-05吗?\n\n当然可以,如果你没有自己的域名,又不想买,那就完全没必要去设置它。目前来看设置NIP-05的作用就是显示一个认证的标识而已。基本上日常关注好友之类的操作,完全可以通过复制公钥来实现。相信随着各种应用端搜索技术的增强,也可以支持搜索username来查找用户了。(我就要紫标认证✅!\n\n## NIP标准\n\n### 什么是NIP标准\n\nNIP是一系列的协议接口标准,统一规定了各种常用功能使用时的接口元素和细节,这样有利于整个网络上不同应用之间建立通道,从而让一个用户发送的内容可以在nostr网络上的所有应用之间都被识别和传播。\n\n### NIP详细分类介绍\n\n这里大概讲一下不同NIP标准所支持的 nostr 功能,更技术性的说明在[这里查看](https://github.com/nostr-protocol/nips) \n\n 1. NIP-01 - 基本协议流程描述,是用于客户端和中继之间通信的协议。它涉及事件的交换,事件是包含各种信息的对象,例如唯一 ID、时间戳和标签。\n\n 2. NIP-02 - 联系人列表和昵称 \n\n 3. NIP-03 - 事件的 OpenTimestamps 证明 \\[未计划\\] \n\n 4. NIP-04 - 加密私信 \n\n 5. NIP-05 - 将 Nostr 密钥映射到基于 DNS 的互联网标识符 \n\n 6. NIP-06 - 从助记种子短语推导基本密钥 \n\n 7. NIP-07 - 网络浏览器的 window.nostr 功能 \\[不适用\\] \n\n 8. NIP-08 - 处理提及 \n\n 9. NIP-09 - 事件删除 \\[部分\\] \n\n10. NIP-10 - 客户端在文本事件中使用 e 和 p 标签的约定 \n\n11. NIP-11 - 中继信息文件 \n\n12. NIP-12 - 通用标签查询 \n\n13. NIP-13 - 工作量证明 \n\n14. NIP-14 - 文本事件中的主题标签 \n\n15. NIP-15 - 存储事件结束通知 \n\n16. NIP-16 - 事件处理 \n\n17. NIP-19 - bech32 编码的实体 \n\n18. NIP-20 - 命令结果 \n\n19. NIP-21 - nostr:URL 方案 \n\n20. NIP-22 - 事件 created_at 限制 \n\n21. NIP-25 - 反应 \n\n22. NIP-26 - 委托事件签名 \n\n23. NIP-28 - 公开聊天 \n\n24. NIP-33 - 参数化可替换事件 \n\n25. NIP-36 - 敏感内容 \n\n26. NIP-40 - 过期时间戳 \n\n27. NIP-42 - 客户端到中继的身份验证 \n\n28. NIP-50 - 关键字过滤器 \n\n29. NIP-56 - 报告 \n\n30. NIP-65 - 中继列表元数据\n\n好了,今天就到这里,明天再见。祝你在Nostr网络中玩得愉快。",
"attributes": [
{
"value": "qu-zhong-xin-hua-xie-yi-Nostr--xi-lie-004",
"trait_type": "xlog_slug"
}
]
}