登录 后可观看高清视频
[Solana 教程] Anchor v0.31.0 的特性
20次播放
2025-06-06
该视频主要介绍了 Anchor 框架的最新版本 0.31,重点讲解了两个新特性:自定义鉴别器 (Custom Discriminators) 和 惰性账户 (Lazy Accounts)。
核心内容/主要观点:
- Anchor 0.31 版本通过引入自定义鉴别器和惰性账户,旨在提升 Solana 程序的开发效率和运行性能。
- 自定义鉴别器允许开发者使用更短的鉴别器,从而减少交易数据的大小,提高链上效率。
- 惰性账户允许程序按需反序列化账户数据,避免不必要的计算开销,尤其适用于只读取部分字段或只读账户的场景。
关键论据/关键信息:
- 自定义鉴别器:
- 默认的 8 字节鉴别器可能造成浪费,尤其是在指令数量较少的情况下。
- 可以使用
discriminator
宏来指定自定义长度的鉴别器(例如,1 字节)。 - 自定义鉴别器适用于指令、账户和事件。
- 自定义鉴别器可以显著减少指令数据的大小,提高链上效率。
- 惰性账户:
- 惰性账户是一种实验性的账户类型,用于按需反序列化账户数据。
- 使用
LazyAccount
结构体,并通过load
和load_mut
方法来访问账户数据。 - 惰性账户适用于只读取部分字段或只读账户的场景。
- 如果需要完全反序列化账户,惰性账户可能会增加额外的开销。
- 如果账户是可变的,惰性账户的优势会降低,甚至可能导致性能下降。
- 版本依赖:
- Anchor 0.31 推荐使用 Solana 版本 2.1。
- 需要使用 Anchor Version Manager (AVM) 来安装和管理 Anchor 版本。
- 其他改进:
- 栈内存改进,使用 init constraints 时栈的使用效率大幅提高。
- 自动 IDL 转换。
- 支持多种包管理器。
总而言之,该视频通过实际代码演示,详细介绍了 Anchor 0.31 的新特性,并分析了它们在不同场景下的适用性,为 Solana 开发者提供了有价值的参考。