场景定义
一个合约维护单个无符号 64 位计数器。
v0 不需要原生代币转账、跨合约调用或事件(v1 中可选
events.emit)。
所需能力
目标特定适配
每个目标适配器将相同的逻辑场景映射到原生机制:
目标特定的账户 schema 和 manifest 是适配器关注点——不会隐藏在可移植 Lean 逻辑内部。有关指令 manifest 格式和 direct-assembly 路线(D-026),请参阅 solana-sbpf-asm.md。
Phase 2 验收标准
当两个并行 spike 独立通过时,Phase 2 即告完成:CosmWasm (wasm-cosmwasm)
- Counter Wasm 导出所需的 CosmWasm 入口。
-
cosmwasm-check通过。 - instantiate → increment → query 返回预期计数。
- 制品元数据记录
target: wasm-cosmwasm和所使用的能力。
Solana (solana-sbpf-asm)
-
--emit-sbpf-asm产生可被sbpf build接受的有效.s。 -
sbpf build产生可加载的 eBPF ELF (.so)。 - 在
sbpf test(Mollusk) 和 Surfpool/Web3.js live smoke 中执行 initialize → increment → read counter。 - 指令 manifest (
manifest.toml) 记录账户布局。 - 能力检查器用包含 target id 的诊断拒绝不支持的能力。
联合(在两个 spike 之后)
- 同一个可移植 IR 模块降级到 EVM + 至少一个非 EVM 目标。
- 文档列出了此场景下每个目标支持的能力。
ZK 目标 Experimental 标准
psy-dpn 不属于 Phase 2 退出标准,但它现在已经通过生成 .psy 源码和 Dargo 验证复用了 Counter 场景。
- Counter IR 可以用 Psy 兼容的标量类型表示。
- 生成的
.psy包可以使用dargo compile编译。 - 发射 DPN 电路 JSON 并记录在制品元数据中。
- 冒烟路径已经可运行,覆盖
dargo test、dargo compile、dargo execute、dargo generate-abi和制品元数据校验。
示例位置
v0 范围之外
- PDA 派生
- CPI / 子消息
- 访问控制 / 所有权
- 超过 U64 的溢出(目标可能会限制得更低)