Sui CLI常用指令介绍

本文介绍了 Sui 提供的命令行界面(CLI)工具,它可与 Sui 网络、功能及 Move 编程语言交互,包括 Sui 客户端、控制台、密钥工具、Move、验证器等 CLI的常用指令介绍。

概述

Sui 提供了一个命令行界面(CLI)工具,用于与 Sui 网络、其各项功能以及 Move 编程语言进行交互。整套工具被称为 Sui CLI,其命令是按照功能进行分组的。每组命令通常以其顶级命令来指代:Sui 客户端 CLI、Sui 控制台 CLI、Sui 密钥工具 CLI、Sui Move CLI 以及 Sui 验证器 CLI。

Sui CLI 命令

Sui 提供了一系列顶级命令,其中最常用的五个如下所示。对于尚未记录的命令,可以使用 --help 标志查看帮助信息。例如:sui validator --help

  1. Sui Client CLI: 使用 sui client 命令与 Sui 网络交互。
  2. Sui Client PTB CLI: 使用 sui client ptb 命令构建并执行 PTB(Programmable Transaction Block)。
  3. Sui Console CLI: 使用 sui console 打开与当前活跃网络交互的交互式控制台。
  4. Sui Keytool CLI: 使用 sui keytool 命令访问加密工具。
  5. Sui Move CLI: 使用 sui move 命令与 Move 编程语言配合工作。
  6. Sui Validator CLI: 使用 sui validator 命令访问对 Sui 验证器有用的工具。

地址(Addresses)和别名(Aliases)

<!--StartFragment-->

地址(Addresses)\ 地址是 Sui 网络上账户的唯一标识,用于接收和发送代币或对象。每个地址通常由 Sui CLI 管理,并存储在密钥存储中。

<!--EndFragment--> <!--StartFragment-->

别名(Aliases)\ 别名是为地址提供的简短替代名称,用于简化管理和调用。

<!--EndFragment-->

命令 描述
sui client active-address 获取当前活跃地址。
sui client addresses 列出所有地址、它们的别名以及当前活跃地址。
sui client new-address ed25519 使用 ED25519 签名方案创建一个新地址。
sui client new-address ed25519 MY_ALIAS 使用 ED25519 签名方案创建一个新地址并设置别名。
sui client switch --address ADDRESS 将指定地址(或别名)设置为当前活跃地址。
sui keytool convert PRIVATE_KEY 将私钥从 Hex 或 Base64 格式转换为新格式(Bech32 编码的 33 字节标志
sui keytool generate ed25519 使用 ED25519 签名方案生成一个新的密钥对,并保存到文件中。
sui keytool import INPUT KEY_SCHEME 使用输入的助记词或 Bech32 编码的 33 字节标志
sui keytool update-alias OLD_ALIAS NEW_ALIAS 更新地址的别名。

水龙头(Faucet)和交易费(Gas)

<!--StartFragment-->

水龙头(Faucet)\ 水龙头功能允许用户从 Sui 网络获取测试用的 SUI 代币。这些代币主要用于开发、测试和交互。

<!--EndFragment--> <!--StartFragment-->

Gas\ Gas 是在 Sui 网络上执行交易的费用,以 SUI 代币支付。每个地址都可以持有多个 gas 币,用于交易和操作。

<!--EndFragment-->

命令 描述
sui client faucet 从活跃网络关联的水龙头领取一个 SUI 币。
sui client faucet --address ADDRESS 为指定地址领取一个 SUI 币(也可以使用别名)。
sui client faucet --url CUSTOM_FAUCET_URL 从自定义水龙头领取一个 SUI 币。
sui client gas 列出活跃地址的 gas 币。
sui client gas ADDRESS 列出指定地址的 gas 币(也可以使用别名)。

网络命令描述

<!--StartFragment-->

Sui 提供了一系列命令用于管理和与网络交互,包括环境切换和本地网络初始化等功能。以下是常见网络命令的描述:

<!--EndFragment-->

命令 描述
sui client active-env 获取当前活跃的环境。
sui client envs 列出已定义的环境。
sui client new-env --rpc URL --alias ALIAS 使用指定的 URL 和别名创建一个新环境。
sui client switch --env ENV_ALIAS 切换到指定的环境。
sui genesis 启动并初始化一个新的 Sui 网络。
sui start 启动本地 Sui 网络。
sui-faucet 启动本地水龙头(请注意,这是一个不同的可执行文件)。

创建、构建和测试 Move 项目

<!--StartFragment-->

以下是与 Move 项目相关的常用命令,用于创建新项目、构建和测试现有项目,以及迁移到新的 Move 版本:

<!--EndFragment-->

命令 描述
sui move build 构建当前目录中的 Move 项目。
sui move build --path PATH 从指定路径构建 Move 项目。
sui move migrate PATH 将指定路径下的包迁移到 Move 2024 版本。
sui move new PROJECT_NAME 在指定文件夹中创建一个新的 Move 项目。
sui move test 测试当前目录中的 Move 项目。

可编程交易块(PTBs,Programmable Transaction Blocks)

<!--StartFragment-->

PTB 允许开发者在 Sui 网络中构建复杂的交易,通过组合多个操作和步骤来实现自定义的逻辑。以下是与 PTB 相关的常用命令:

<!--EndFragment-->

命令 描述
sui client ptb --move-call p::m::f "&lt;type>" args 调用指定包和模块中的 Move 函数。
sui client ptb --make-move-vec "&lt;u64>" "[1000,2000]" 创建一个包含两个元素的类型为 u64 的 Move 向量。
sui client ptb \  --split-coins gas "[1000]" \  --assign new_coins \  --transfer-objects "[new_coins]" ADDRESS 拆分一个 gas 币并将其转移到指定地址。
sui client ptb --transfer-objects "[object_id]" ADDRESS 将一个对象转移到指定地址。数组中可以传递多个对象。
sui client ptb \  --move-call sui::tx_context::sender \  --assign sender \  --publish "." \  --assign upgrade_cap \  --transfer-objects "[upgrade_cap]" sender 发布一个 Move 包,并将升级权限转移给 sender

参考文档

官网 Sui CLI

<!--StartFragment-->

关注《HOH水分子》公众号,我们将持续分享和制作变成语言教程,让大家对编程产生化学反应。

<!--EndFragment-->

b4AQIzN06730e45415811.webp

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
LeonDev1024
LeonDev1024
0x98dE...1DB4
江湖只有他的大名,没有他的介绍。