修订过程宏 - 向 @anchorlang 添加了账户版本控制。 标记为 #[account(versioned)] 的账户现在可以随着时间的推移演变其模式。字段使用 #[added(vN)] 来指定它们何时被引入。 三种初始化模式: - #[added(v2)] → Default::default() - #[added(v2, init_to = expr)] → 静态编译时值 - #[added(v2, init_from = "authority")] → 从上下文进行运行时初始化 好处 - 模式演变而不破坏数据。零迁移代码。从上下文自动初始化字段。跨版本的向后兼容性。 代码将在经过几轮测试后很快发布。 @jacobvcreech 先生,您认为这在官方 anchor 中会有用吗? 这是一次很好的学习经历。在理解 #anchor 中账户宏的扩展及其各种约束的同时,修订了过程宏。