Anchor框架:Solana智能合约本地开发与部署
AI 总结:
视频主要讲解了如何使用Anchor框架在本地环境中构建、部署和测试智能合约,以及与合约交互的基本流程。内容涵盖了开发环境配置、工程创建、合约部署和测试方法等关键技术要点。
1、开发环境与工程创建
介绍了Solana开发环境的安装过程,建议参考文档进行安装,安装完成后会有相应的命令行工具可用。
演示了如何使用 Anchor init
创建一个模板工程,工程目录结构包括 anchor.toml
、Cargo.toml
和 programs
等关键文件和目录。
2、合约构建与部署
使用 Anchor build
构建合约,首次构建较慢,因为需要编译依赖包。构建完成后会在 target
目录下生成二进制文件(.so)和 IDL 文件。
部署合约时需准备账号和网络配置,使用 Anchor deploy
命令部署,合约的 Program ID 不会因多次部署而改变。
3、测试与日志
介绍了两种测试方法:Rust 单元测试(测试内部逻辑)和集成测试(测试指令调用)。集成测试使用 Mocha 框架,与前端交互方式类似。
演示了如何在测试中调用合约指令,并通过断言验证数据是否正确写入 PDA 账户。
讲解了日志打印的两种方式:msg!
和 emit!
,前者适合打印字符串,后者适合打印结构化数据(如事件)。
4、合约交互与客户端库
介绍了Solana的客户端库(Client Library),包括官方的 @solana/web3.js
和 @solana/kit
。
演示了如何通过 Provider
和 Program
对象与合约交互,包括构建交易、发送交易和读取账户数据。
了如何通过 getSignaturesForAddress
查询特定地址参与的所有交易,适用于索引账号活动。
指出Solana的日志不永久保存,且不支持以太坊的布隆过滤器,需依赖第三方服务获取历史数据。