跳到主要内容

什么是 DigStore?

DigStore 是一种 Git 形态、加密、内容可寻址的项目,编译为单一的自我防护 WebAssembly 模块。

你可以使用 Git 风格的命令 —— initaddcommitlogclonepushpull —— 来管理一个静态加密、并编译为单个 .wasm 文件的项目。这个单一文件既是你的数据,也是控制访问权限的服务端。存储或中继它的主机看到的只是按哈希寻址的密文;它无法读取自己所承载的内容。

你通过一个 URN 来寻址内容,而这个 URN 就是密钥:它既能定位内容,也能解密内容。把 URN 交给某人,他们就能读取该资源;没有它,他们就无法读取 —— 不存在需要单独管理的密码或访问列表。

与 Git 不同,DigStore 是为构建产物而设计的,而不是仓库源码。你将一个项目指向像 dist/ 这样的目录,它就会捕获其中的内容。

它为什么存在

问题DigStore 的解答
主机可以读取 / 扫描你发布的内容内容静态加密;主机只持有以哈希为键的密文
访问控制意味着密码和 ACLURN 就是访问凭证 —— 分享它即授予读取权限,不分享即拒绝访问
你必须信任服务器返回的是真实字节clone/pull 会在安装前验证模块的 store id、发布者的签名根,以及链上的 singleton 根哈希 —— 失败即拒绝
“这份内容有多大?”这种信息会从文件大小中泄露每个项目都是一个 .wasm 文件,被填充为统一的大小,不会泄露任何有关其内容的信息
服务逻辑与数据相互分离数据和控制访问权限的代码被编译进同一个模块

如何阅读本文档

  • DigStore 格式 —— 核心概念:项目、部署、.wasm 模块、URN、加密与证明。如果你想了解 DigStore是什么,从这里开始。
  • CLI 教程 —— 安装 CLI 并在真实项目中使用它:初始化一个项目、捕获一个构建目录、提交部署、通过远程仓库共享,以及将内容流式读取回来。

如果你只是想试试看,可以直接跳到 快速开始(免费、网页优先的路径)或 CLI 教程

备注

DigStore 是 DIG Network 的一部分。完整的技术设计参见协议部分 —— 内容可寻址的 WASM store 格式。