Mollusk

微信扫码分享
Solana 开发 Agent  Skills

Solana 开发 Agent Skills

视频演示了在Claude code中使用Solana agent skills前后AI辅助编程的差异。作者首先测试无技能时Claude的表现,随后安装Solana Dev skills并与MCP服务器集成,使得AI能遵循最佳实践,如使用Pinocchio框架开发CU高效程序、用Mollusk进行测试、通过Shank生成IDL并部署到Devnet。视频还对比了有无技能时对Solana rent概念的解答质量,并强调了agent skills对于提升代码质量和安全性的重要性。最后指出技能有时需手动触发,且可自定义技能以符合个人偏好。 关键信息:Solana rent概念及免租模式;CU高效事件发射程序开发;Pinocchio vs Solana SDK对比;Mollusk集成测试;Shank到Kodama IDL生成;Devnet部署与验证;Agent skills的安全检查清单。

168 0 0 2026-06-22 22:17
Solana 测试工具:LightSVM, surfpool, Mollusk

Solana 测试工具:LightSVM, surfpool, Mollusk

## 一、为什么 Solana 的测试比想象中复杂 课程首先明确了一个现实问题: - Solana 程序依赖大量 **外部账户状态** - 程序逻辑往往不是“纯函数” - 测试时需要考虑: - 多账户交互 - CPI - Token 状态 - 与其他协议的真实组合行为 因此,Solana 的测试**不能只靠单一工具完成**,而是需要一个分层测试体系。 ## 二、Solana 测试工具的三种核心形态 课程中反复强调,可以把 Solana 测试工具分为三类: ### 1️⃣ 本地测试链(Local Validator) ### solana-test-validator - 官方提供的本地测试节点 - 特点: - 启动快 - 完全本地 - 适合基础功能测试 适用场景: - 单个程序的基本逻辑验证 - 不依赖真实主网状态的开发阶段 局限: - 不包含主网真实账户数据 - 无法模拟复杂的跨协议交互 ### 2️⃣ 单元测试工具(Unit Testing) ### Mollusk 课程中明确指出: - **Mollusk 更偏向单元测试** - 关注的是: - 单个指令 - 单个程序逻辑 - 边界条件与错误处理 特点包括: - 不追求完整链上环境 - 测试速度快 - 适合精准定位 bug 适用场景: - Pinocchio 程序 - 需要精确控制输入输出的逻辑测试 - 对 CU、执行路径敏感的代码 > 课程中多次提到: > > > **Mollusk ≈ 单元测试** > ### 3️⃣ 集成测试 / 主网数据模拟 ### Surfpool 这是本节课测试工具部分的重点。 课程对 Surfpool 的定位是: - **集成测试工具** - 可以在本地环境中: - 拉取主网账户 - 模拟真实协议交互 - 测试与外部合约的组合行为 核心能力包括: - 本地运行,但可按需拉取主网账户数据 - 不需要完整自建 Solana 节点 - 可以测试: - AMM 池 - Token 状态 - 复杂 CPI 调用 课堂中给出的一个关键总结是: > **Surfpool ≈ 带主网数据的本地测试环境** > 适用场景: - 协议集成 - 与真实 DeFi 协议交互 - 接近生产环境的验证 ## 三、Anchor、Pinocchio 与测试工具的关系 ### Anchor 测试 - Anchor 提供 `anchor test` - 本质是: - solana-test-validator - - TS 测试脚本 - 适合: - 教学 - 应用型开发 - 快速验证逻辑 但需要注意: - `anchor test` **不等于** Surfpool - 默认不会拉取主网数据 ### Pinocchio 测试 课程中明确指出: - Pinocchio 不自带完整测试框架 - 更依赖: - Mollusk(单元测试) - Surfpool(集成测试) 这也是 Pinocchio **对工程能力要求更高** 的原因之一。 ## 四、推荐的测试组合策略(非常重要) 课程中给出了一个**被多次确认的实践路径**: ### 推荐测试顺序 1. **Mollusk** - 测单个指令 - 测异常路径 - 测 CU 与逻辑正确性 2. **Surfpool** - 测与其他协议的交互 - 测主网真实账户状态 - 做接近生产的验证 3. **主网测试** - 最终验证 - 成本最高 - 只用于确认结果 这一点在课程中被反复强调。 ## 五、常见困惑的澄清 ### Q1:Surfpool 能不能替代 solana-test-validator? - 在很多集成测试场景下,可以 - 但用途不同 - 本地 validator 仍适合最基础测试 ### Q2:Anchor test 用的是 Surfpool 吗? - 不是 - `anchor test` 默认使用本地 validator ### Q3:测试能不能打断点? - 目前不现实 - Solana 测试更接近: - 日志 - 打印 - 结果验证 ## 六、对初学者的重要提醒 课程中特别强调: - 不要一开始就上最复杂的测试工具 - 先理解: - 程序在干什么 - 账户是如何变化的 否则会出现: - 工具看懂了 - 逻辑反而更混乱 ## 七、课后实践建议(测试方向) - 至少亲手用一次: - solana-test-validator - anchor test - 进阶尝试: - 用 Mollusk 写一个单元测试 - 用 Surfpool 测一次真实协议交互 - 把测试当成: - 理解 Solana 执行模型的一部分 - 而不是单纯的“验收工具” 视频 AI 总结: 该视频主要讲解了 Solana 链上测试的三种工具:LightSVM、surfpool 和 Mollusk,并介绍了它们之间的关联、优势以及使用方法。核心内容是帮助开发者更好地进行 Solana 程序的测试,包括功能测试、性能测试以及套利策略的模拟。 关键信息: 1. LightSVM 是一个功能全面的库,支持多种语言,可以模拟 SVM 运行环境,进行指令级别的测试。 2. surfpool 基于 LightSVM 开发,能够直接从 RPC 获取链上数据,方便模拟真实环境,适合在线套利策略的测试。 3. Mollusk 是一个轻量级的 Rust 测试库,功能有限,只支持指令级别的测试,但可以进行定制化。 4. 这三个测试库最终都依赖 SVM 的源代码。 5. Shuffle 工具功能强大,既有 RPC 接口,又有网页界面,使用简单,适合与组网或开发网结合使用。 6. 实战案例演示了如何使用 surfpool 进行时间旅行和设置账号,模拟 DeFi 应用中的利息计算等场景。 7. 推荐使用 MCP 工具分析 Solana 交易,可以解析交易包含的程序、路径等信息。 8. 强调了在进行 Solana 开发时,需要关注 CU 优化,以降低交易成本。

1831 0 0 2026-02-01 23:45
Mollusk 测试工具 [Solana 教程]

Mollusk 测试工具 [Solana 教程]

视频 AI 总结: 1. **核心内容:** 该视频介绍了 Anza 开发的 Solana 程序轻量级测试工具 Mollusk。Mollusk 允许开发者在精简的 Solana 虚拟机环境中进行单元测试,无需启动完整的 Solana 验证器,从而提高测试效率。视频通过一个简单的 Solana 程序示例,演示了如何使用 Mollusk 进行指令级别的测试,包括设置账户、执行指令、以及验证结果。 2. **关键信息:** * Mollusk 是一个轻量级的 Solana 程序测试工具,适用于单元测试。 * Mollusk 通过直接从底层 SVM 组件提供程序执行管道,避免了运行完整验证器的开销。 * 使用 Mollusk 需要手动设置账户。 * 视频演示了如何使用 Mollusk 测试单个指令,包括检查签名、读写账户数据等。 * Mollusk 提供了多种检查方法,例如检查执行结果、账户状态、错误信息等。 * Mollusk 支持状态化测试,允许在多个指令之间保持账户状态。 * 视频对比了 Mollusk 和 Surfpool,指出 Mollusk 更适合单元测试,而 Surfpool 更适合集成测试。 * 强调了测试的重要性,并建议开发者根据需求选择合适的测试工具。

1811 0 0 2025-10-12 11:43
使用 Mollusk 为 Solana 程序编写编写单元测试

使用 Mollusk 为 Solana 程序编写编写单元测试

视频 AI 总结: 1. **核心内容:** 该视频介绍了 Anzo 团队开发的 Solana 程序测试工具 Mollusk。Mollusk 旨在提供一个更轻量级、更快速的单元测试环境,开发者可以直接与 Solana 虚拟机(VM)交互,专注于程序逻辑的输入输出测试,而无需模拟完整的 Solana 集群环境。该工具还支持自定义系统调用,方便开发者测试和验证新的协议功能。 2. **关键信息:** * **Mollusk 的设计理念:** Mollusk 专注于程序逻辑的单元测试,避免了传统测试框架中模拟完整集群环境的开销,提高了测试速度和效率。 * **与其他测试工具的区别:** Mollusk 与 Bankrun 等工具不同,不提供状态持久化和集群范围的行为模拟,而是专注于 VM 级别的输入输出测试。 * **Mollusk 的优势:** Mollusk 简化了测试设置,移除了签名验证等不必要的步骤,支持行级代码覆盖率测试,并能方便地进行计算单元(CU)优化。 * **自定义系统调用:** Mollusk 允许开发者注册和测试自定义系统调用,方便验证新的协议功能和性能优化方案。 * **CU Bencher:** Mollusk 包含一个 CU Bencher 工具,可以自动生成 Markdown 格式的 CU 性能报告,方便开发者进行性能回归测试。 * **Context 特性:** Mollusk 允许开发者通过 Context 特性预填充账户存储,简化了复杂指令的测试过程。

648 0 0 2025-09-06 21:08