付费视频,请购买课程( ¥2,000.00 )后再观看
使用 Anchor 开发 Solana 程序
23次播放
1 天前
视频 AI 总结:
本视频主要讲解了如何在本地环境中使用 Anchor 框架进行 Solana 程序开发。核心内容包括:1)如何通过 anchor init 命令或使用 Solana 官方模板创建本地 Anchor 项目;2)介绍了项目的目录结构,并演示了如何编写一个简单的计数器程序;3)详细讲解了两种测试方法:使用 Rust 进行单元/集成测试(利用 cargo test 和 LiteSVM 模拟环境),以及使用 TypeScript/JavaScript 进行测试(利用 Anchor 的客户端库与链上程序交互);4)简要说明了程序的构建(anchor build)与部署(anchor deploy)流程,并对比了 Solana 与以太坊在日志记录、测试工具等方面的差异。
视频中提出的关键信息:
- 本地开发环境搭建:推荐使用 Solana 官方开发者网站的模板命令创建项目,该方式会生成一个包含前端和 Anchor 程序的完整工程结构。
- Anchor 版本管理:使用 AVM(Anchor Version Manager)管理不同版本的 Anchor,类似于 NVM 管理 Node.js。
- 程序测试的两种主要方式:
- Rust 测试:可在程序源码中或
tests目录下进行,使用cargo test。可以利用LiteSVM模拟链上环境,进行更接近真实场景的集成测试。 - TypeScript 测试:在 Anchor 项目中使用 Node.js 测试框架(如 Mocha),通过 Anchor 提供的客户端库与程序交互,模拟前端调用。
- Rust 测试:可在程序源码中或
- 开发工具与库:提到了 Solana 开发中常用的工具链,如
Solana Web3.js(v1)、Solana Kit(v2)、Anchor(基于 Web3.js 的封装)、Umi以及用于生成 TypeScript 类型的工具Codama。 - 与以太坊开发的对比:
- 日志系统:Solana 使用
msg!和emit!打印日志,主要用于实时调试,日志不像以太坊的 Event 那样作为永久性的结构化数据存储在链上。 - 程序交互:调用 Solana 程序时需要显式传入所有涉及的账户信息。
- 测试环境:Solana 的
LiteSVM类似于以太坊 Foundry 中的anvil,用于模拟链环境。
- 日志系统:Solana 使用
- AI 辅助开发:视频中演示了利用 AI 根据项目中的
skills文档(如Solana Dev Skills)自动生成代码和测试,并强调了通过多轮对话让 AI 自我修正和深入思考来解决开发问题的高效性。 - 版本迭代与兼容性:Solana 生态库更新较快,大版本升级可能存在不兼容问题,对于已有项目,若非必要可不急于升级。