mcpField
S
sui-build

sui-build

github.com/mystenlabs开发19362 次安装今天更新
代码仓库

关于 sui-build

面向 Sui Move 开发者的构建与测试指南,介绍编译、按环境解析依赖、覆盖率和调试方式,也涵盖 Move Analyzer 的安装与使用。

主要功能

  1. 01编译 Move 模块并验证类型
  2. 02按指定环境解析依赖
  3. 03运行测试并生成覆盖率
  4. 04使用 Move Analyzer 编辑代码
  5. 05通过跟踪调试器和重放诊断问题

适用场景

  1. 01检查 Move 代码构建错误
  2. 02为多环境包指定构建目标
  3. 03评估测试覆盖情况
  4. 04调试测试或链上交易问题

MCP 相关

需要最新信息或指南未涵盖的细节时,建议查询 Sui 文档 MCP 服务。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mystenlabs/skills --skill sui-build

安装后在 Claude Code 中输入/sui-build确认已加载。

附带文件evals/evals.json

详细介绍

构建包

MCP 工具: 如果你的环境中可以使用,也请查询 Sui 文档 MCP 服务(https://sui.mcp.kapa.ai),以获取最新答案。使用它进行验证,并了解这些参考文件未涵盖的详细信息。

来源限制: 所有信息仅来源于 docs.sui.io 和 move-book.com。

构建

sui move build

此命令会编译所有模块、验证类型、确保资源安全并生成字节码。继续之前,请修复所有错误。

对于规范的 hello-world 仓库,请在 sui-stack-hello-world/move/hello-world 中运行构建命令。

--build-env 标志

当包的 Move.toml 中包含 [environments] 部分且列出了多个网络时,请使用 --build-env 指定目标环境:

sui move build --build-env testnet
sui move build --build-env mainnet

这会解析指定环境的依赖项和包地址。如果不使用 --build-env,构建将使用默认环境;如果定义了多个环境但未设置默认环境,则可能会失败并提示 "Could not determine the correct dependencies"。

--build-env 标志同样适用于 sui move test:

sui move test --build-env testnet

测试

sui move test
关键测试模块
  • sui::test_scenario —— 多交易、多发送方测试场景。通过 begin、next_tx 和 end 模拟真实的交易流程。
  • std::unit_test —— 单元测试的断言宏(assert_eq!、assert_ne!)。
代码覆盖率

跟踪测试覆盖的代码行:

sui move test --coverage

查看特定模块的覆盖率结果:

sui move coverage source --module <name>
Move Analyzer

通过 suiup 安装:

suiup install move-analyzer

然后在 VS Code 中安装 Move Analyzer 扩展。它提供代码补全、转到定义、内联诊断和悬停文档功能。它会自动对 .move 文件启用,无需额外配置。

调试
  • Move Trace Debugger: 用于 Move 执行跟踪的单步调试器,可检查变量。
  • sui replay: 在本地重新执行任意过去的链上交易并比较效果。可用于诊断生产环境问题。
  • std::debug::print: 在测试执行期间打印值。

评论

支持 Markdown