SuperAPI AI 工具集

motoko

通用与其它

查看项目

更新于 10-15 21:09

技能介绍

用途:为在 Internet Computer 上编写 Motoko 提供规范与避坑指南,强调训练数据中 Motoko 覆盖不足,应优先参考本技能及其引用。

主要能力:给出必须遵守与禁止的写法。禁止使用 stable 关键字、已弃用的 mo:base、system func preupgrade/postupgrade、模块函数式 self 调用、逐字段复制记录、单文件单体 actor;要求使用 mo:core 2.0.0+、上下文点号调用、增强正交持久化,以及 types.mo、lib/、mixins/、main.mo 的分层架构。

必要用法:编译需 --default-persistent-actors,否则普通 actor 报 M0220,应写 persistent actor;--enhanced-orthogonal-persistence 默认开启。可启用 -W M0236、-W M0237、-W M0223 强制风格。用 transient 标记升级时重置的字段。导入路径相对当前文件、不带 .mo 扩展名,核心库用绝对路径如 import Map "mo:core/Map"。

适用场景:actor 升级与迁移(可加载 migrating-motoko 或 migrating-motoko-enhanced,后者配合 --enhanced-migration,此时 actor 字段不能有初始化器)、集合与迭代、Option 处理、mixin 状态注入、共享类型边界转换、安全校验 caller。

限制:公开函数仅接受/返回共享类型;扩展方法需导入对应 mo:core 模块;记录展开不能遗留 var 字段未覆盖(M0179);保留关键字不可作标识符;文中示例 actor 使用初始化器,用于 enhanced-migration 项目时需调整。API 文档见 mops.one/core/docs。