SuperAPI AI 工具集

solana-dev

编程与开发

查看项目

更新于 10-15 08:50

技能介绍

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 任务时:

  1. 对任务分层进行分类
  • 界面/钱包/hook 层
  • 客户端 SDK/脚本层
  • 程序层(+ IDL)
  • 测试/CI 层
  • 基础设施(RPC/索引/监控)
  1. 选择正确的构建块
  • 界面:framework-kit 模式。
  • 脚本/后端:直接使用 @solana/kit。
  • 存在旧版库:引入 web3-compat 适配器边界。
  • 高性能程序:用 Pinocchio 而非 Anchor。
  1. 以 Solana 特有的正确性实现

始终明确:

  • 集群 + RPC 端点 + websocket 端点
  • 手续费支付方 + 最近区块哈希
  • 计算预算 + 优先级(在相关时)
  • 预期账户所有者 + 签名者 + 可写性
  • 代币程序变体(SPL Token 与 Token-2022)及任何扩展
  1. 添加测试
  • 单元测试:LiteSVM 或 Mollusk。
  • 集成测试:Surfpool。
  • 对于“钱包 UX”,在适当处添加模拟的 hook/provider 测试。
  1. 交付物预期

实现变更时,提供:

  • 确切更改的文件 + 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