核心用法
本 Skill 为 Solana 全栈开发提供 2026 年最新技术栈决策与执行流程,覆盖 UI、客户端、链上程序及测试四层:
技术栈选择(按优先级)
- UI 层:优先使用
@solana/client+@solana/react-hooks,采用 Wallet Standard 原生发现机制 - 客户端层:优先
@solana/kit(类型安全的消息 API、编解码器),使用@solana-program/*指令构建器 - 遗留兼容:仅在边界使用
@solana/web3-compat适配,禁止 web3.js 类型泄漏至全应用 - 程序开发:默认 Anchor(IDL 生成、成熟工具链),高性能场景选用 Pinocchio(CU 优化、零依赖)
- 测试策略:单元测试用 LiteSVM/Mollusk(进程内极速),集成测试用 Surfpool(本地化主网状态),必要时用 solana-test-validator
执行流程
1. 任务分层归类(UI/客户端/程序/测试/基础设施)
2. 按层选取构建模块
3. 显式处理 Solana 关键正确性要素:集群/RPC/WS 端点、费用支付者、近期区块哈希、计算预算与优先级、账户所有者/签名者/可写性、Token 程序变体及扩展
4. 配套测试:单元/集成/模拟 Hook 测试
5. 交付物包含:文件变更+diff、安装/构建/测试命令、风险说明(签名/费用/CPI/代币转账相关)
显著优点
- 官方最新技术栈:基于 2026 年 1 月 Solana Foundation 发布的 framework-kit,避免 legacy 技术债务
- 类型安全优先:@solana/kit 替代无类型的 web3.js,编译期捕获地址、交易消息错误
- 渐进式迁移路径:通过 web3-compat 边界适配器,可在不重构遗留库的情况下逐步迁移
- 高性能选项明确:Pinocchio 针对计算单元(CU)优化场景提供零依赖、精细化控制方案
- 现代化测试矩阵:LiteSVM/Mollusk 亚秒级单元测试反馈,Surfpool 本地化集成测试降低 CI 成本
潜在局限性与风险
- 生态成熟度差:@solana/kit 和 framework-kit 生态工具链(如某些第三方库的 kit 适配)仍在快速迭代,可能遇到文档滞后或 breaking change
- 学习曲线:团队需同时掌握新旧两套类型系统(Kit 的
Address/Signervs web3.js 的PublicKey/Keypair) - Pinocchio 门槛:无宏、无标准库抽象,需手动处理账户解析/分配,适合高级开发者
- Codama 生成依赖:IDL 变更后需重新生成客户端,CI 流程需配套 codegen 步骤
- 安全关键操作:涉及签名、费用支付、CPI、代币转账的代码必须附加风险审查
适合人群
- 2026 年起新建 Solana 项目的全栈团队
- 寻求从 web3.js 向现代化 Kit 架构迁移的现有项目
- 对程序性能(CU/二进制大小)有极致要求的开发者
- 需要标准化安全审计流程的 DeFi/NFT 协议团队
常规风险
| 类别 | 风险点 | 缓解建议 |
|------|--------|----------|
| 依赖风险 | framework-kit 快速迭代导致 API 变更 | 锁定版本,关注官方迁移指南 |
| 兼容风险 | 遗留库强制要求 web3.js 对象 | 严格隔离在 web3-compat 适配边界 |
| 安全风险 | 签名泄漏、费用估算错误、CPI 未校验账户 | 强制使用 Skill 内 security.md 检查清单 |
| 测试风险 | 本地测试与主网行为偏差 | Surfpool 定期同步主网状态,关键路径上 devnet 验证 |