Solana 开发技能(framework-kit 优先)
用途
当用户提出以下需求时使用本技能:
- Solana dApp 界面开发(React / Next.js)
- 钱包连接与签名流程
- 交易构建 / 发送 / 确认体验
- 链上程序开发(Anchor 或 Pinocchio)
- 客户端 SDK 生成(类型化程序客户端)
- 本地测试(LiteSVM、Mollusk、Surfpool)
- 安全加固与审计式审查
- 机密转账(Token-2022 ZK 扩展)
默认技术栈决策(有明确倾向)
界面:优先 framework-kit
- 使用 @solana/client + @solana/react-hooks。
- 优先通过 framework-kit 客户端进行 Wallet Standard 的发现与连接。
SDK:优先 @solana/kit
- 优先使用 Kit 类型(Address、Signer、交易消息 API、codecs)。
- 优先使用 @solana-program/* 指令构建器,而非手写指令数据。
旧版兼容:仅在边界处使用 web3.js
- 如果必须集成期望 web3.js 对象(PublicKey、Transaction、Connection)的库,使用 @solana/web3-compat 作为边界适配器。
- 不要让 web3.js 类型泄漏到整个应用;将其限制在适配器模块内。
程序
- 默认:Anchor(迭代快、可生成 IDL、工具链成熟)。
- 性能/体积:当需要 CU 优化、最小二进制体积、零依赖,或对解析/分配进行细粒度控制时,使用 Pinocchio。
测试
- 默认:LiteSVM 或 Mollusk 用于单元测试(反馈快、进程内运行)。
- 使用 Surfpool 在本地针对真实集群状态(主网/开发网)进行集成测试。
- 仅当需要 LiteSVM 未模拟的特定 RPC 行为时,才使用 solana-test-validator。
操作流程(如何执行任务)
解决 Solana 任务时:
- 对任务分层进行分类
- 界面/钱包/hook 层
- 客户端 SDK/脚本层
- 程序层(+ IDL)
- 测试/CI 层
- 基础设施(RPC/索引/监控)
- 选择正确的构建块
- 界面:framework-kit 模式。
- 脚本/后端:直接使用 @solana/kit。
- 存在旧版库:引入 web3-compat 适配器边界。
- 高性能程序:用 Pinocchio 而非 Anchor。
- 以 Solana 特有的正确性实现
始终明确:
- 集群 + RPC 端点 + websocket 端点
- 手续费支付方 + 最近区块哈希
- 计算预算 + 优先级(在相关时)
- 预期账户所有者 + 签名者 + 可写性
- 代币程序变体(SPL Token 与 Token-2022)及任何扩展
- 添加测试
- 单元测试:LiteSVM 或 Mollusk。
- 集成测试:Surfpool。
- 对于“钱包 UX”,在适当处添加模拟的 hook/provider 测试。
- 交付物预期
实现变更时,提供:
- 确切更改的文件 + diff(或补丁式输出)
- 安装/构建/测试命令
- 针对任何涉及签名/费用/CPI/代币转账的内容,提供简短的“风险说明”部分
渐进式披露(按需阅读)
- 界面 + 钱包 + hooks:frontend-framework-kit.md
- Kit ↔ web3.js 边界:kit-web3-interop.md
- Anchor 程序:programs-anchor.md
- Pinocchio 程序:programs-pinocchio.md
- 测试策略:testing.md
- IDL + 代码生成:idl-codegen.md
- 支付:payments.md
- 机密转账:confidential-transfers.md
- 安全检查清单:security.md
- 参考链接:resources.md