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-sdk

cardanowall-sdk

Rust

Rust SDK。

与 TypeScript 和 Python SDK 逐字节对齐的对应版本,阻塞式、默认即安全,面向原生应用与服务。完整 API 文档发布在 docs.rs 上。

安装

$ cargo add cardanowall

cardanowall

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 不认签发方,也能独立验证:它的任何一环都不依赖这些工具,也不依赖任何单一厂商。规范完整且公开,谁都能用任意语言、面向任意平台另写一套全新实现,并与现有的一切互通。它是标准,不是产品。