离线演示
可运行的教学示例 · v0.1.0 · Node.js 22+ · 仅使用合成证据。 这不是生产级 P21 SDK,也不是实时区块链验证器。
下载与运行
在构建后的网站打开 /demo/,下载并检查 proof21-demo.mjs。在该文件所在目录运行:
node proof21-demo.mjs
不需要 npm 安装、API 密钥、钱包、网络调用或文件写入。使用 --json 获取结构化输出。在包含此示例的仓库副本中,可直接在根目录运行 npm run demo,无需安装依赖。
演示要说明什么
接收方使用固定的示例 Ed25519 公钥验证紧凑 JWS 签名,再把已签名的合成观察结果与独立的本地指令比较。它不会接受由回执自行选择的密钥或策略。
| 输入 | 签名 | 比较结果 | 接收方决定 |
|---|---|---|---|
| 匹配样例 | VALID | PASS | REVIEW |
| 接收方错误,但签名真实 | VALID | FAIL | REJECT |
| 缺少付款证据 | VALID | INDETERMINATE | REVIEW |
| 签名后载荷被修改 | INVALID | INDETERMINATE | REJECT |
第二行是重点:有效签名不能使行动正确。第一行仍需 REVIEW,因为合成证据不能证明真实付款。
精确范围
代码使用 Node 内置的 Ed25519 验证,以及 JWS 紧凑签名输入规则。刻意受限的解析器只支持此示例的固定头部、模式、来源类型和紧凑 JSON 编码;其他格式直接拒绝,不做近似处理。它不是通用 JOSE 库、规范化 JSON 实现,也不是最终 P21 报告格式。
证据和支付资产均属虚构;新鲜度相对于固定演示时钟进行比较。不会连接比特币或 EVM 节点。演示不包含持久化防重放、密钥发现/吊销、交易最终性、DMT/TAP 推导、熵、x402/B402 结算或 MCP 运行时。允许重复运行样例是有意设计。
安全使用
执行前检查下载的源代码。不要安装未经核实的同名 npm 软件包。文件旁的校验和可检测意外更改,但不能独立认证已被攻陷的发布方。生产安装程序需要单独审查和发布验证流程。
示例不含签名私钥。合成样例在开发时一次性签署;随附接收方程序仅包含公钥及签名数据。它只输出控制台结果,不对钱包采取行动。
测试
在仓库中运行 npm run test:demo。测试涵盖四个公开示例、字段不匹配、不支持的输入、无效签名、替换密钥、畸形编码、固定时钟失败和独立 CLI 进程。通过这些测试不等于密码学审计,也不是生产就绪的证明。