Label 309 · 开源
Label 309 生态
一套开放标准,配上一整套参考实现。机器可读的规范,TypeScript、Python 与 Rust 三套 SDK,以及一个命令行工具,全部公开发布:代码用 Apache-2.0,规范用 CC-BY-4.0。你可以直接拿来用,也可以做自己的实现:Label 309 是标准,谁都能自由实现。
label-309
标准
完整、机器可读的规范全集:规范正文、CDDL 语法、算法注册表、JSON Schema,以及每个实现都要据此对照检查的一致性向量。
参考 SDK
同一套标准,写了三遍:面向浏览器与 Node,面向 Python,面向 Rust。
TypeScript
浏览器与 Node SDK。
一个可独立运行的验证器、一个不挑网关的 HTTP 客户端,外加一组 fetch 辅助函数。装上这个 SDK,它依赖的封闭目录加密原语和传输格式库会一并带进来,一个依赖就拿到整条技术栈。
安装
$ npm install @cardanowall/sdk-ts@cardanowall/sdk-ts
更底层的构件
Python
Python SDK。
与 TypeScript SDK 逐字节对齐的对应版本,对照同一套规范化 CBOR 测试向量验证过。可在 Python 里验证记录、编码传输格式,并构造密封的存在性证明。
安装
$ pip install cardanowall-sdkcardanowall-sdk
Rust
Rust SDK。
与 TypeScript 和 Python SDK 逐字节对齐的对应版本,阻塞式、默认即安全,面向原生应用与服务。完整 API 文档发布在 docs.rs 上。
安装
$ cargo add cardanowallcardanowall
cardanowall-cli
命令行
一个不挑网关、以原始种子为先、建在 Rust SDK 之上的命令行工具。验证记录、收发收件箱、构建与校验 Merkle 证明、签名、提交,全都能在终端或 CI 流水线里直接搞定。
安装
$ cargo install cardanowall-cli可执行文件: cardanowall
不挑网关,以原始种子为先。
命令
- verify
- inbox-list
- inbox-decrypt
- inbox-sync
- merkle-verify
- merkle-build
- sign
- submit
天生一致
TypeScript、Python 与 Rust 三套 SDK,对照同一套规范化 CBOR 测试向量做到逐字节一致。任一套编码出的记录,与其他套编码出的逐位相同,所以验证从来不在乎它出自哪一套实现。
做你自己的实现
Label 309 不认签发方,也能独立验证:它的任何一环都不依赖这些工具,也不依赖任何单一厂商。规范完整且公开,谁都能用任意语言、面向任意平台另写一套全新实现,并与现有的一切互通。它是标准,不是产品。