SuperAPI AI 工具集

ika-solana-pre-alpha

智能体与模型

查看项目

更新于 11-09 23:27

技能介绍

Ika Solana pre-alpha 是一个 devnet 上的 mock 网络开发指南。在该环境中,dWallet 是可由 Solana 账户控制的签名密钥:所有者决定签署哪些消息,由 ika 网络产出签名;当所有者为 Solana 程序时,由程序规则决定。需要特别注意:pre-alpha 是模拟环境,不运行真实 ika 网络,单一 mock 后端代替所有验证者;没有 MPC,mock 为每个 dWallet 持有普通私钥并独自签名,因此不安全,可对任意 dWallet 签署任意消息,绝不能放入真实资金。私钥不会发送给 mock;导入的密钥不会被读取,mock 会新建密钥,因此导入的 dWallet 具有不同的公钥和地址。数据会定期清空,清空后可能改变 program id 和网络密钥。除此之外,Solana 程序、交易以及 SDK 调用与检查都是真实的;应用迁移到真实网络时,只需去掉 mock 模式并指定真实网络。

主要能力与流程:指南给出最短的 TypeScript 流程,包括包装 mock 密码学、创建 IkaClient、从 root seed 派生用户份额加密密钥、注册加密密钥(每个曲线一次,单独交易)、创建 gas 存款、调用 requestDWalletDKG、发送 acceptEncryptedUserShare 并等待 waitForDWallet、批准消息获得 voucher、再请求签名。还说明程序侧可通过 CPI 拥有 dWallet,以及使用 devnet-pre-alpha 特性构建程序。

使用方式与关键规则:必须启用 mock 模式(withMockCryptography),否则 SDK 会拒绝网络;必须使用 gRPC-Web,Node 中传入 DWalletGrpcClient 而非 URL 字符串;网络按 finalized 读取 Solana,下一步操作需等待依赖交易 finalized;每个 root seed 需要单独的 createGasDeposit,mock 不收费但存款必须存在;注册加密密钥需单独交易;requestDWalletDKG 后必须接受份额并等待,否则 dWallet 不可用;voucher 的签名密钥是用户请求密钥而非钱包;ECDSA 签名 65 字节,Ed25519 为 64 字节;程序构建需带 --features devnet-pre-alpha,否则拒绝所有 devnet dWallet;devnet SOL 从 faucet.solana.com 获取,requestAirdrop 会因 410 失败。

适用场景:在 Solana devnet 上构建 dWallet 应用、从 TypeScript 应用签名、开发拥有 dWallet 的 Solana 程序,以及测试投票、多签等示例。限制:环境为 mock 且不安全,不可存放真实资金;数据定期清空;地址参数可能变化,应以程序中 dWallet 协调账户记录的 chain number、network value、IKA mint 和 treasury vault 为准;完整指南和 SDK 位于相关代码仓库,npm 包使用 pre-alpha 标签安装。