SuperAPI AI 工具集

solana

编程与开发

查看项目

更新于 10-16 04:56

技能介绍

用途:在为 Solana 编写软件时应用该规范,覆盖使用 TypeScript 的 Solana 客户端代码、使用 Solana crate 的 Rust 库、Anchor 程序等场景,目标是保证代码质量、可维护性并符合项目标准。

主要能力与要求:强调“为真相而战”,聊天、注释、变量名、PR 标题、README、提交信息都不得写不属实内容;文档与代码不符视为不实,变量名与用途不符视为不实;临时变通需用 TODO 注释并附 git issue 链接并说明何时可删除;不确定就直说,模糊表述也算软性谎言。命名前必须 grep 源码确认标识符存在。描述现状而非历史,避免 no longer、removed 等表述,这些应放在 CHANGELOG 和 PR 描述中。

完整交付:AI 时代补全的边际成本近乎为零,要带测试、带文档地把事情做完,不做计划代替成品;发现缺口应直接修复而非降级为免责声明。

验证标准:宣告完成前运行项目实际测试命令,如 Anchor 用 anchor test、Rust 用 cargo test;测试须通过程序自身指令处理器创建全部程序状态,不得注入预制账户(外部程序创建的账户如预言机价格账户除外);使用非零且不对称的参数值并测试边界两侧;禁止占位测试,测试必须初始化账户、发送交易、验证状态变化、检查余额;README.md 与 CHANGELOG.md 需同步更新。总结时用 ✅ 标注已完成项、❌ 标注剩余项。

文档来源:Anchor、LiteSVM、Anchor Error Codes、Quasar、Solana Kite、Solana Kit、Agave(Solana CLI)、Arcium、Quicknode Solana Program Examples、Anatoly Yakovenko 的 GitHub 仓库。

术语约定:用 programs 而非 smart contracts,用 transaction fees 而非 gas,无 mempool;新代币程序称 Token Extensions Program,旧称 Classic Token Program;统一写 onchain、offchain、crosschain,不加连字符;金额单位用 major unit 与 minor unit,不用 base units;函数称 instruction handlers,输入称 instructions;处理器命名遵循领域动词成对规则(make_offer/take_offer 等),仅创建容器用 initialize_x(),扩展已有容器用 add_x()。区分 key pair、private key、public key,地址从 key pair 生成时总在 Ed25519 曲线上,只有 PDA 或内置地址在曲线外;区分 PDA(地址)与 account(其上的数据)。

限制与禁用:不使用 Solana Labs 文档(已被 Anza 取代)、Coral XYZ 文档与包(Anchor 现由 Solana Foundation 维护,TS 包为 @anchor-lang/core)、Project Serum 的任何内容;不用 yarn(新项目用 npm,已有 pnpm 项目继续用 pnpm);不用 Switchboard(已停用,价格源改用 Pyth 并迁移现有读取);不用 Clockwork(已停用,定时调用改用 TukTuk);不用 solana-developers/program-examples(2026 年 6 月起已过时)。使用最新稳定版 Anchor、Rust、TypeScript、Solana Kit 与 Kite,遇 bug 优先升级而非回滚。每个项目根目录需有 README.md,包含 Purpose、Major Concepts、Testing、Setup、Usage。文档风格:标题不编号,标题独立可读并命名结果而非机制,概念只在其归属处完整讲授一次,角色用 they 而具名角色保留性别代词,摘要陈述读者已知内容而非示例角色所做之事,指令参考融入生命周期叙述而非单列。

适用场景:Solana 客户端、程序与库的编写、审查与文档撰写。具体支持版本、安装命令与配置细节资料中暂未提供。