阅读约 7 分钟
什么是 Label 309 网关?
Label 309 网关是负责发布的服务:它通过一套标准 API 完成报价、上传、提交、确认和索引存在性证明记录——与此同时,你的密钥始终留在设备上,证明也始终能从公开数据中验证。

Label 309 网关是把存在性证明记录发布到 Cardano 的那一层服务。它承担全部运营性工作——定价、上传、交易提交、确认追踪、记录索引、余额、API 密钥、webhook——这样客户端就无需亲自处理这些。客户端负责准备证明、把私钥留在本地,网关则负责把记录送上网络。
Label 309 是一套开放、厂商中立的标准,用于在元数据 label 309 下把内容哈希锚定到 Cardano 链上。网关就是执行发布的那一部分。它不是某一家公司专用的私有后端,而是一个定义清晰的服务层,任何产品都可以自行运行它,或基于它做集成,而且参考实现是开源的。CardanoWall 的商业产品正是跑在这些完全相同的接口之上,没有为自己留任何另辟的通道。
发布为什么需要网关?
验证很轻量,发布则是运营性的。
要验证一份证明,你通常从一个 Cardano 交易引用入手,从公开浏览器取回记录,再自己重新计算哈希或签名。整个过程不需要任何特殊服务——这种独立性正是标准的全部意义所在。(完整流程参见如何验证一条 Label 309 记录。)
发布涉及的环节要多得多:
- 构建一条有效的 Label 309 记录;
- 估算 Cardano 交易成本;
- 在涉及文件时上传密文或内容;
- 支付存储成本;
- 提交 Cardano 交易;
- 等待确认;
- 处理失败与退款;
- 为结果建立索引;
- 把状态回传给用户;
- 让账户余额保持准确。
网关把这些事务打包在一套 API 后面。没有网关,每个想要发布的产品都得把同一套链上与存储流水线重建一遍。有了网关,产品团队就能专注于自己的用户体验和业务流程,把链、存储和记账交给网关处理。
网关到底做了什么?
网关掌管整条发布流水线,以及背后的资金、链上和存储状态。具体来说,它能:
- 在你发布前对证明给出报价(价格在一段较短的窗口内有效,约 15 分钟);
- 接收加密上传和公开内容上传,并返回内容寻址的 URI;
- 接收一条已准备好的证明记录;
- 以精确费用构建并提交 Cardano 交易;
- 追踪确认情况,包括处理链重组;
- 在发布永久失败时自动退还费用;
- 把网络上每一条 Label 309 记录索引进一个共享、公开的数据流;
- 管理预付账户余额并应用定价;
- 签发 API 密钥和账户令牌;
- 为生命周期事件发送 webhook。
正因如此,它成了 CardanoWall 网页应用、桌面应用、命令行工具、基于 SDK 的集成、CI/CD 流程乃至第三方产品背后共同的发布引擎。
网关刻意不做哪些事?
网关不是信任根。
它从不需要你的身份种子(Identity Seed),从不需要接收方的私钥,不会解密封存的文件,也从来不是唯一能核对一份证明的地方。这些特性都是有意为之:把它们排除在网关之外,正是让一份证明能够独立成立的原因。
一份有效的 Label 309 证明依托的是公开数据,而非网关的一面之词:
- Cardano 交易;
- Label 309 元数据;
- 必要时的原始内容或密文;
- 记录签名与公钥;
- 批处理记录的 Merkle 证明;
- 封存内容所需的、属于接收方自己的密钥。
即便网关报告说某份证明存在,验证方依然可以直接对照链上数据来确认它——整个过程与网关无关。关于网关运营方能观测到什么、不能观测到什么,参见CardanoWall 能看到什么。
什么是数据平面?
数据平面是面向用户的 API。当一个客户端代表某个用户或账户行事时——网页应用、桌面应用、CLI、SDK,或是一段自动化脚本,请求报价、上传、发布、读取余额或列出记录——它调用的就是这一层。它位于 /api/v1/* 路径下。
整个概念流程很短:
- 请求报价。
- 在涉及文件时上传内容或密文。
- 发布证明。
- 追踪状态。
- 读取记录与余额。
参考产品走的也正是这条路径。凡是对 CardanoWall 有效的流程,都通过公开的数据平面对所有人开放。
什么是控制平面?
控制平面面向运营方和产品后端,位于 /control/v1/* 路径下。
如果一家公司基于网关搭建自己的产品,它的后端就需要创建账户、应用账单额度、签发短时效的账户令牌、设置每账户的加价、创建 API 密钥,以及执行运营级任务。这些都属于控制平面的工作,必须从可信后端发起——绝不能来自浏览器代码或移动端客户端。
控制平面正是让一个网关能够支撑多个产品的关键。另一个团队可以在其之上运行自己的厂商层:自己的用户、账单、UI、支持和产品语义,而底层的基础发布流水线交给网关。两者之间的边界是 HTTP API 与 webhook 事件流——而不是网关的数据库,后者对引擎而言始终是私有的。
「无私有通道」是什么意思?
意思是参考产品的发布走的是和其他人完全相同的接口。没有为 CardanoWall 保留任何隐秘、更快或享有特权的通道。
这一点对可信度至关重要。如果某个项目声称标准是开放的,却通过隐藏的内部机制来发布,整个生态就会一直依赖那一家厂商。网关模式消除了这种依赖:CardanoWall 可以是那个打磨精良的首发产品,与此同时,其他团队也能在完全相同的标准路径上构建自己的工具、服务、仪表盘、桌面客户端和行业流程。如果你正基于它做开发,参见基于 Label 309 网关构建。
公司能运行自己的网关吗?
可以。网关核心是开源的——一个 Rust 单一二进制文件外加 PostgreSQL——公司完全可以自行运行:为自己的 Cardano 和 Arweave 钱包注资,创建自己的账户和 API 密钥,发布 Label 309 记录,而不必把 CardanoWall 当作托管运营方来依赖。
在以下情况下,自托管会很有意义:
- 大批量发布
- 严格的厂商政策
- 受监管或物理隔离的环境
- 内部合规流程
- 法律证据系统
- AI 来源溯源基础设施
- CI/CD 证明流水线
- 已经在运营自有云与链上基础设施的团队
自托管不会改变记录标准——一个自托管网关产出的是相同的记录,任何人都能验证。它改变的只是由谁来运营发布服务。具体的搭建步骤见运行你自己的网关。
我什么时候该用托管的 CardanoWall 网关?
当便利比自己运营基础设施更重要时,就用托管网关。
托管服务会替你处理资金、定价、提交、确认、存储和账户管理。这适合个人用户、小团队、早期集成,以及希望快速上手的公司。你拿到的依然是标准记录,依然能从公开数据中验证,日后也依然可以迁移到自己的工具或自己的网关。托管不等于被锁定。
我什么时候该改为自托管?
当运营掌控比便利更重要时,就自托管。充分的理由包括:
- 你的发布量很大;
- 你想用自己的费用和资金政策;
- 你的组织无法依赖第三方托管服务;
- 你的记录属于一套内部、受监管的流程;
- 你的产品需要自己的账单模型;
- 你想以自有品牌提供 Label 309 发布服务;
- 你想直接掌控 API 密钥、账户和 webhook。
自托管的工作量更大。你要运行网关、为钱包注资、监控各项服务、管理密钥、运维数据库、处理升级,并保持服务健康。回报是独立性。
定价是怎么算进来的?
发布需要花钱,因为网关实打实地承担了成本。每一份证明都要锚定一笔 Cardano 交易,而交易会带有网络费用。涉及文件时,网关还要支付 Arweave 存储费用。在此之上,它还要承担汇率处理、资金、基础设施、监控、支持、退款和风险。
因此,托管网关按成本透传加服务加价来收费。汇率是实时的——网关按当前市场汇率为每次报价定价,而不是用某个写死的常数——而报价背后的汇率会变动,这正是报价只在一段较短窗口内有效的原因。显示出来的价格可能因账户、合作伙伴或运营方政策而异。关于为什么要收费这件事本身的来龙去脉,参见发布为什么要收费。
如果你想绕开托管中介的加价,答案不是免费发布——无论如何,链上和存储的成本都是实打实的。答案是运行一个网关、直接为它注资,并自行承担运营工作。
桌面应用和网关是什么关系?
CardanoWall Desktop——一个基于 Rust SDK 构建的开源桌面应用——是网关的客户端,而非链上运营方。
它在本地持有身份,在你自己的机器上同步封存记录并对其试行解密,缓存数据以供离线使用,准备并签名记录,加密文件,验证证明——这一切都在本地完成。它明确不是钱包:它既不托管 ADA,也不自行构建和提交 Cardano 交易。凡是涉及链上或存储的事,它都指向一个网关,让网关掌管发布流水线。
由你来选择用哪个网关:
- 托管的 CardanoWall 网关
- 你公司自己的网关
- 任意第三方网关
- 本地或开发用的网关
桌面端掌管本地体验,网关掌管发布。关于这款应用的更多内容,见CardanoWall Desktop。
开发者应该牢记什么?
要面向标准的边界来构建——也就是 HTTP 平面和 webhook——而不是面向网关的内部实现。
有几条规则能让集成保持诚实:
- 不要直接查询网关的数据库;它是引擎内部的东西,可能在没有任何通知的情况下变动。
- 不要把运营方凭据放进客户端。任何需要运营方权限的操作都应留在你的后端。
- 不要把缓存的余额当作扣费决策的事实来源;当余额要决定一笔扣费时,去读网关的余额。
- 不要为发布失败自建退款路径——网关已经会自动退款,再退一次就会重复支付。
- 不要让网关去解密用户内容。
理想的形态其实很直接:由你的客户端或后端捕获用户意图,由你的客户端把密钥留在本地,由网关处理报价、上传、发布、确认和索引,你的产品在其之上构建自己的 UI 和读模型,而验证始终保持独立。这正是同一个标准能够支撑众多产品,却不必把每个产品都变成链上与存储运营方的原因。
一句话版本
Label 309 网关是发布层。它负责报价、上传、发布、确认、索引并对外提供记录。它可以由 CardanoWall 托管,可以由公司自托管,也可以集成进另一款产品。
它不是信任根,也不持有你的私钥。它发布的是标准记录,任何人都能从公开的 Cardano 数据中验证——而这恰恰是让标准保持开放的关键。
延伸阅读
- 基于 Label 309 网关构建——数据平面与控制平面的集成模式。
- 运行你自己的网关——运营一个自托管实例。
- 发布为什么要收费——报价背后的成本模型。
- 验证一条 Label 309 记录——仅凭公开数据核对一份证明。
- 开放标准见 label309.org,开源代码见 github.com/cardanowall。Label 309 已提交至 Cardano CIP 流程,正作为 Metadata 类别提案由 CIP 编辑评审中(公开 PR)。