NIP-94:文件元数据
NIP-94 定义了一种文件元数据 event(kind 1063),用于在 Nostr 上组织和分类共享文件,从而让 relays 能更有效地过滤和整理内容。
工作原理
NIP-94 使用 kind 1063 作为文件的独立元数据 event。event 的 content 存放人类可读描述,而 tags 则承载机器可读字段,例如下载 URL、MIME type、哈希、尺寸以及预览提示。
这种分离很重要,因为元数据 event 可以独立于任何链接到该文件的 note,被索引、过滤和复用。客户端可以把 kind 1063 event 当作某个资产的规范描述,而不必从自由格式的帖子文本中去抓取元数据。
必填与可选 Tags
核心 tags:
url- 文件下载链接m- MIME type(要求使用小写格式)x- 文件的 SHA-256 哈希
可选 tags:
ox- 服务器转换之前原始文件的 SHA-256 哈希size- 文件大小(字节)dim- 图片或视频尺寸(宽 x 高)magnet- 用于 torrent 分发的 Magnet URIi- torrent infohashblurhash- 预览占位图thumb- 缩略图 URLimage- 预览图 URLsummary- 文本摘要alt- 无障碍描述fallback- 备用下载源service- 存储协议或服务类型,例如 NIP-96
ox 与 x tags 很容易被忽略,但在实践里非常有用。ox 标识的是原始上传文件,而 x 标识的则可以是服务器实际提供的转换后版本。当媒体主机对上传内容做压缩或缩放时,客户端仍然可以保留“原始文件身份”,而不必假装转换后的 blob 与原件逐字节一致。
何时使用
NIP-94 更偏向文件共享应用,而不是社交客户端或长文客户端。适用场景包括:
- torrent 索引 relays
- 作品集分享平台(类似 Pinterest)
- 软件配置与更新分发
- 媒体库和档案系统
如果文件元数据只是为了装饰嵌在其他 event 里的 URL,那么 NIP-92:媒体附件 会更轻量。只有当文件本身需要作为可查询的一等对象时,NIP-94 才是更好的选择。
互操作说明
NIP-94 可以跨不同存储后端工作。文件既可以通过 NIP-96:HTTP File Storage、Blossom 或其他服务上传,然后仍然用同样的 kind 1063 event 结构来描述。这也是为什么这种元数据格式比任何单一上传协议活得都更久。
主要来源:
提及于:
另请参阅: