登录 后可观看高清视频

[Solana 教程] Anchor v0.31.0 的特性

Solandy Solandy
20次播放
2025-06-06

该视频主要介绍了 Anchor 框架的最新版本 0.31,重点讲解了两个新特性:自定义鉴别器 (Custom Discriminators)惰性账户 (Lazy Accounts)

核心内容/主要观点:

  • Anchor 0.31 版本通过引入自定义鉴别器和惰性账户,旨在提升 Solana 程序的开发效率和运行性能。
  • 自定义鉴别器允许开发者使用更短的鉴别器,从而减少交易数据的大小,提高链上效率。
  • 惰性账户允许程序按需反序列化账户数据,避免不必要的计算开销,尤其适用于只读取部分字段或只读账户的场景。

关键论据/关键信息:

  • 自定义鉴别器:
    • 默认的 8 字节鉴别器可能造成浪费,尤其是在指令数量较少的情况下。
    • 可以使用 discriminator 宏来指定自定义长度的鉴别器(例如,1 字节)。
    • 自定义鉴别器适用于指令、账户和事件。
    • 自定义鉴别器可以显著减少指令数据的大小,提高链上效率。
  • 惰性账户:
    • 惰性账户是一种实验性的账户类型,用于按需反序列化账户数据。
    • 使用 LazyAccount 结构体,并通过 loadload_mut 方法来访问账户数据。
    • 惰性账户适用于只读取部分字段或只读账户的场景。
    • 如果需要完全反序列化账户,惰性账户可能会增加额外的开销。
    • 如果账户是可变的,惰性账户的优势会降低,甚至可能导致性能下降。
  • 版本依赖:
    • Anchor 0.31 推荐使用 Solana 版本 2.1。
    • 需要使用 Anchor Version Manager (AVM) 来安装和管理 Anchor 版本。
  • 其他改进:
    • 栈内存改进,使用 init constraints 时栈的使用效率大幅提高。
    • 自动 IDL 转换。
    • 支持多种包管理器。

总而言之,该视频通过实际代码演示,详细介绍了 Anchor 0.31 的新特性,并分析了它们在不同场景下的适用性,为 Solana 开发者提供了有价值的参考。

Solana  blockchain  Anchor 0.31  Custom Discriminators  Lazy Accounts  AVM