Sui.

帖子

分享您的知识。

article banner.
Owen.
Owen486
Jul 16, 2025
文章

如何将原始字节码发布到 SUI Localnet

在 SUI 区块链上部署智能合约通常涉及将 Move 代码编译成字节码并将其发布到网络上. 虽然 SUI CLI 可以自动执行大部分流程,但开发人员偶尔会寻求有关手动处理原始字节码的指导,尤其是在Localnet等本地测试环境中. 本文介绍了利用 SUI CLI 和开发工具将原始字节码发布到 SUI Localnet 的步骤.


SUI Localnet 的先决条件

在深入部署之前,请确保您具备以下条件:

  1. suiSUI CLI 已安装:按照官方 安装指南 设置命令行工具.
  2. Localnet 运行:使用sui-test-validator二进制文件启动本地 SUI 网络进行测试 (https://docs.sui.io/).
    3.Move Package:配置了模块和依赖项的功能性移动包.

什么是 SUI Localnet

SUI Localnet 是一个沙盒环境,用于在不冒真实资产风险的情况下测试智能合约. 它允许开发人员在迁移到 Devnet 或 Mainnet 之前模拟交互、调试逻辑和验证部署. 要启动 Localnet,请运行:

sui-test-validator  

这将初始化本地验证器节点,为预先注资的账户 (https://docs.sui.io/)(https://scaf.gitbook.io/scaf/) 提供新的测试场所.


如何准备搬家套餐?

Move 包由源代码 (sources/)、依赖关系 (deps/) 和编译构件 (build/) 组成. 要编译原始字节码,请关注build包含.mv文件的目录,即编译后的 Move 字节码.

  1. 生成软件包
  sui client build <package_path>  

<package_path>替换为包含您的Move.toml文件的目录. build/这会在文件夹中生成字节码.

  1. 查找字节码: 导航build/<package_name>/bytecode/到查找.mv每个模块的文件. 它们代表要发布的原始字节码.

将原始字节码发布到 Localnet

sui client publish虽然 SUI CLI 抽象了字节码管理,但您可以使用该命令手动发布原始字节码. 此命令接受预先构建的字节码,而不是重新编译软件包.

分步指南

  1. 启动 Localnet: 确保本地验证器正在运行:
  sui-test-validator  
  1. 发布字节码: 使用publish带有--bytecode标志的命令来指定原始字节码目录:
  sui client publish --bytecode <bytecode_path>  

<bytecode_path>替换为您的build/<package_name>/bytecode/目录路径.

示例

  sui client publish --bytecode ./build/my_package/bytecode/  

CLI 将向本地网络提交字节码,在链上创建一个新的包对象 (https://thelib.to/move-book)(https://sui.io/).

3.验证部署: 在 CLI 输出中检查交易详情. 使用 SUI 浏览器(如果适用于 Localnet)或通过以下方式查询软件包:

  sui client get-package <package_id>  

Sui CLI 的典型错误

1. CLI 版本不匹配

如果 CLI 无法识别命令,请使用操作系统推荐的方法进行更新. 避免通过手动更新cargo来防止依赖关系冲突 (https://discord.gg/sui).

2. 字节码路径错误

确保该--bytecode标志直接指向包含.mv文件的目录. 不正确的路径将触发编译错误.

3. 本地网络连接失败

确认sui-test-validator处于活动状态且您的 CLI 配置指向本地网络. 使用:

sui client envs  

验证活动环境 (https://docs.sui.io/).

结论

publish使用--bytecode带有标志的 SUI CLI 命令时,将原始字节码发布到 SUI Localnet 是一个基本过程. 通过利用Localnet的隔离环境,开发人员可以在不产生成本或风险的情况下迭代测试合约. 虽然可以手动操作字节码,但该平台的设计优先考虑自动化,确保大多数用例的可靠性和简单性.

  • Sui
  • SDKs and Developer Tools
  • Move
0
分享
评论
.

Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.

425帖子626答案
Sui.X.Peera.

赚取你的 1000 Sui 份额

获取声誉积分,并因帮助 Sui 社区成长而获得奖励。

奖励活动七月