概念与术语表
本页用简明的语言一次性定义 DIG Network 的每一个核心实体,并链接到深入介绍它的文档。它是本文档的人类可读脊柱 —— 同时,由于每个术语也以机器可读的结构化数据形式发出,它也是智能体(agent)可以抓取以学习该网络词汇的地图。浏览它以获得整体方向;点击链接以深入了解。
capsule
capsule 是一次不可变的 store 生成版本:即 (storeId, rootHash) 这一对值,规范写法为
storeId:rootHash。它是该网络的原子单位 —— 涵盖编译(一个固定大小的 WASM 模块)、
定价(mint 或 commit 均按统一的单 capsule 价格计价,以 $DIG
支付)、检索(一个 URN 指向一个 capsule)、缓存和溯源。store 是一系列
capsule 的集合,每次提交对应一个。这个定义在 dig-store、dig RPC 和 DIG
Browser 中完全一致。→ 完整的 capsule 说明
store
store 是一个身份加上其内容与历史:一系列 capsule 的集合,每次提交对应一个。它的身份是一个 64 位十六进制的 store id,该 id 就是它在链上的 Chia singleton launcher id —— 链上的 singleton 是该 store 当前根哈希的权威来源。store 是 DIG 语境下等价于网站的概念。→ store 结构
generation
generation 是 store 的一个已提交状态,由一个根哈希(对该 generation 各资源叶子节点计算的
Merkle 根)标识。每次 commit 都会将当前内容封装为一个新的、仅追加的
generation —— 这与 capsule 所指代的正是同一件事。generation 单调递增,就像 Git 历史一样。→ Generation 与根哈希
URN
URN 将 dig-store 的地址与密钥合二为一,写作一个字符串:
urn:dig:chia:<storeId>[:<rootHash>][/<resource>]。它既能定位一个资源,又能推导出解密它所需的
密钥 —— 拥有这个 URN 就是读取一个公开资源的充分必要条件。面向浏览器的简写形式是
chia:// 协议。→ URN 与加密
retrieval key(检索键)
retrieval key 是 SHA-256(canonical_urn) —— 唯一会离开客户端的地址。它能
定位一个资源的密文,而不泄露其路径或其 URN。它是
与根哈希无关的,因此同一个 key 可以在不同 generation 中找到同一个资源;随后收到的字节会针对正确的根哈希进行
Merkle 验证。独立的
解密密钥通过本地(HKDF)从同一个 URN 推导而来,且从不发送。→ 一个字符串,两个值
Merkle 证明
每个 generation 都会构建一棵 Merkle 树,每个资源对应一个叶子节点,承诺其提供服务所用的确切 密文字节。每个被返回的资源都附带一份包含性证明(inclusion proof),用于证明这些字节确实属于该确切的 根哈希 —— 因此内容无需被解密即可完成验证,节点也永远无 需被信任其返回的是真实字节。→ Merkle 证明
链上锚定
每个 store 都是 Chia 主网上的一个 singleton。digs init 会铸造它(launcher id
即成为该 store id),而每次 digs commit 都会作为一次 CHIP-0035 singleton 更新,将新的
generation 根哈希锚定到链上。两者都会阻塞直到确认完成,并花费真实资金。链是 store
最新根哈希的权威来源。→ 链上锚定
DIG 支付
$DIG 是 DIG Network 的代币(一种 Chia CAT)。铸造一个 capsule(init)或对其进行提交
都需要支付以 $DIG 计价的统一单 capsule 价格,该费用与锚定操作原子性地包含在同一笔链上支出中 ——
不存在单独的交易,且备注(memo)中携带 store id。→ 费用
dig-store CLI
dig-store 是用于创建、提交、共享和读取 store 的命令行工具 —— 在加密的链上 store 格式之上,提供了一套
Git 形态的工作流(init、add、commit、log、clone、push、pull)。→ 命令参考 · CLI 教程
dig.toml
dig.toml 是位于项目根目录、可提交的项目清单文件 —— 包含 store-id、output-dir、
build-command 及其他项目配置,被 digs dev、digs deploy 和脚手架模板共用。它不包含任何机密信息
(那些来自环境变量),因此可以安全地提交。→ 项目配置与构建期取值
create-dig-app
create-dig-app(npm create dig-app)是启动 DIG 项目的 JS 入口:它会从五个模板
(static、vite-react、next-static、nft-drop、dapp-window-chia)之一,搭建出一个可运行的初始项目 ——
包含一个应用、一个 dig.toml,以及(对于钱包相关模板)已接入的
DIG SDK。搭建脚手架是免费的 —— 不铸造、不上链、不花费;你只有在发布一个 capsule
时才需要支付统一的 capsule 价格。它是 Rust CLI 中 digs new 在 npm 一侧的对应工具。→