本文介绍了 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 提供了一系列顶级命令,其中最常用的五个如下所示。对于尚未记录的命令,可以使用 --help
标志查看帮助信息。例如:sui validator --help
。
sui client
命令与 Sui 网络交互。sui client ptb
命令构建并执行 PTB(Programmable Transaction Block)。sui console
打开与当前活跃网络交互的交互式控制台。sui keytool
命令访问加密工具。sui move
命令与 Move 编程语言配合工作。sui validator
命令访问对 Sui 验证器有用的工具。<!--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 |
更新地址的别名。 |
<!--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 |
启动本地水龙头(请注意,这是一个不同的可执行文件)。 |
<!--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 项目。 |
<!--StartFragment-->
PTB 允许开发者在 Sui 网络中构建复杂的交易,通过组合多个操作和步骤来实现自定义的逻辑。以下是与 PTB 相关的常用命令:
<!--EndFragment-->
命令 | 描述 |
---|---|
sui client ptb --move-call p::m::f "<type>" args |
调用指定包和模块中的 Move 函数。 |
sui client ptb --make-move-vec "<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 。 |
<!--StartFragment-->
关注《HOH水分子》公众号,我们将持续分享和制作变成语言教程,让大家对编程产生化学反应。
<!--EndFragment-->
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!