付费视频,请购买课程( ¥2,000.00 )后再观看

使用 Anchor 开发 Solana 程序

22次播放
1 天前

视频 AI 总结:

本视频主要讲解了如何在本地环境中使用 Anchor 框架进行 Solana 程序开发。核心内容包括:1)如何通过 anchor init 命令或使用 Solana 官方模板创建本地 Anchor 项目;2)介绍了项目的目录结构,并演示了如何编写一个简单的计数器程序;3)详细讲解了两种测试方法:使用 Rust 进行单元/集成测试(利用 cargo testLiteSVM 模拟环境),以及使用 TypeScript/JavaScript 进行测试(利用 Anchor 的客户端库与链上程序交互);4)简要说明了程序的构建(anchor build)与部署(anchor deploy)流程,并对比了 Solana 与以太坊在日志记录、测试工具等方面的差异。

视频中提出的关键信息:

  1. 本地开发环境搭建:推荐使用 Solana 官方开发者网站的模板命令创建项目,该方式会生成一个包含前端和 Anchor 程序的完整工程结构。
  2. Anchor 版本管理:使用 AVM(Anchor Version Manager)管理不同版本的 Anchor,类似于 NVM 管理 Node.js。
  3. 程序测试的两种主要方式
    • Rust 测试:可在程序源码中或 tests 目录下进行,使用 cargo test。可以利用 LiteSVM 模拟链上环境,进行更接近真实场景的集成测试。
    • TypeScript 测试:在 Anchor 项目中使用 Node.js 测试框架(如 Mocha),通过 Anchor 提供的客户端库与程序交互,模拟前端调用。
  4. 开发工具与库:提到了 Solana 开发中常用的工具链,如 Solana Web3.js(v1)、Solana Kit(v2)、Anchor(基于 Web3.js 的封装)、Umi 以及用于生成 TypeScript 类型的工具 Codama
  5. 与以太坊开发的对比
    • 日志系统:Solana 使用 msg!emit! 打印日志,主要用于实时调试,日志不像以太坊的 Event 那样作为永久性的结构化数据存储在链上。
    • 程序交互:调用 Solana 程序时需要显式传入所有涉及的账户信息。
    • 测试环境:Solana 的 LiteSVM 类似于以太坊 Foundry 中的 anvil,用于模拟链环境。
  6. AI 辅助开发:视频中演示了利用 AI 根据项目中的 skills 文档(如 Solana Dev Skills)自动生成代码和测试,并强调了通过多轮对话让 AI 自我修正和深入思考来解决开发问题的高效性。
  7. 版本迭代与兼容性:Solana 生态库更新较快,大版本升级可能存在不兼容问题,对于已有项目,若非必要可不急于升级。