Solana
SBPF/ELF + Mollusk 运行时 · 产品 CPI 路径
目标
solana
族
显式账户 SVM
轨道
accepted Phase 1
成熟度
SBPF/ELF + Mollusk 运行时 · 产品 CPI 路径
主制品
SBPF ELF .so
工具锁定
锁定 sbpf 汇编 → ELF;Mollusk 多程序语料
可部署
true
Feature 清单
本目标的产品面计数(工程词汇,不是营销分数)。
11
合计
8
已支持
2
部分
1
显式拒绝
0
缺失
执行模型
显式账户
SVM account meta 与程序自有状态——不是 EVM storage 槽。
Mollusk 门
工程清单约 21 个集成二进制 / 405+ active 测试。
原生 System CPI
TransferSol 产品 fixture:Mollusk 下真实 System Program CPI。
非主网证据
仅本地/离线观察——不是签名 provenance 或集群部署。
制品
| 文件 | 角色 | 说明 |
|---|---|---|
| *.so (ELF) | 主制品 | EmitSbpfAsmV1 产出的可部署 Solana 程序二进制。 |
| proof-forge-solana-client | 离线 client | 校验 output.v1 后按 profile 分派;程序 adapter 显式加载。 |
Feature 列表
今天能 lower 什么、显式拒绝什么、仍缺失什么。
流水线与工具
SolanaPlan → SBPF 汇编 → 锁定 ELF。
4/4 已支持
- SUPPORTED
可部署 ELF 发射
solana-sbpf-elf-v1 完整 Operation → .so。
- SUPPORTED
Mollusk runtime 差分
Counter/Map/WideDiv/TransferSol/CallerIsMe 语料——不是 formal Stage-0。
- SUPPORTED
产品同步 CPI
精确 CPI profile;TransferSol 原生 System 路径。
- SUPPORTED
离线 solana-client
just solana-client-test / transfer-sol-offline / local。
状态与类型
宽整数、聚合、Map 试点、Principal 存储。
3/4 已支持
- SUPPORTED
多宽度 UInt + UInt128/256
T9e 多字;mul schoolbook;div/mod 二进制长除。
- SUPPORTED
Struct/Enum/Array/Map/Bytes/Option
Map 进 ELF+Mollusk;Option UInt64 状态;String 状态 FC。
- SUPPORTED
Principal 叶存储
T12 wire 身份存储——不做 32B pubkey 强制转换。
- FAIL-CLOSED
Field 类型
bn254 / BLS / Goldilocks 不在 Solana 产品路径。
副作用与上下文
emit/revert 强;context 与调用部分受限。
1/3 已支持
- SUPPORTED
emit / revert / assert
产品 lower + Mollusk 观察。
- PARTIAL
contextRead
精确 CPI:caller→pf_caller;ordinary-elf blockHeight 经 clock sysvar 部分支持;legacy 键 FC。
- PARTIAL
externalCall / schedule
sol_invoke_signed_c 路径;AccountMeta 完整性仍有残差。
Profile
solana-sbpf-elf-v1完整 Operation 面 → 锁定 sbpf → 可部署 ELF .so。
solana-sbpf-cpi-elf-v1精确产品 CPI 路径(同步 invoke);非 legacy CpiCaller。
构建
lake env .lake/build/bin/proof-forge-next build \
Examples/Counter.lean \
--module Examples.Counter \
--target solana -o build/counter-solana
just solana-client-test
just solana-transfer-sol-build
just solana-transfer-sol-offline