Skip to main content

节点工具

本指南重点介绍 Sui CLI 的 validator 命令。

info

此工具目前仅支持待处理的验证器和活跃的验证器。

准备工作

  1. 确保你已完成所有先决条件

  2. 构建 sui 二进制文件,你需要用于创世典礼。此步骤可以在任何你喜欢的机器上完成。它不必在运行验证器的机器上执行。

    1. 克隆 git 存储库:

      git clone git@github.com:MystenLabs/sui.git && cd sui

    2. 检出要用于测试网的提交:

      git checkout testnet

    3. 构建 sui 二进制文件:

      cargo build --bin sui

    4. 记住你的二进制文件的路径:

      export SUI_BINARY="$(pwd)/target/debug/sui"

  3. 运行以下命令设置你的 Sui 帐户和 CLI 环境。

    1. 如果这是第一次运行此程序,它将要求你提供 Sui Fullnode Server URL 和有意义的环境别名。它还将在 sui.keystore 中生成一个随机的密钥对和一个配置文件 client.yaml。如果你已经拥有验证器帐户密钥,请将其替换。

    2. 如果你已经设置好了,请确保 a. client.yaml 中的 rpc 是正确的。 b. client.yaml 中的 active_address 是正确的。 b. sui.keystore 包含你的帐户密钥对。

      如果此时找不到 client.yamlsui.keystore 的位置,或者有其他问题,请阅读Sui 客户端 CLI 教程

      $ sui client
4. 为了测试你已连接到网络并正确配置了配置,请运行以下命令显示你的验证器信息。

``` bash
$ sui validator display-metadata

使用 Sui CLI

打印帮助信息

$ sui validator --help

显示验证器元数据

$ sui validator display-metadata

$ sui validator display-metadata <validator-address>

以打印其他验证器的信息。

更新验证器元数据

运行以下命令以查看如何更新验证器元数据。仔细阅读关于更改何时生效的描述。

$ sui validator update-metadata --help

你可以更新以下链上元数据:

  1. 名称
  2. 描述
  3. 图像 URL
  4. 项目 URL
  5. 网络地址
  6. P2P 地址
  7. 主地址
  8. 工作地址
  9. 协议公钥
  10. 网络公钥
  11. 工作公钥

值得注意的是,仅上述前4个元数据立即生效。

如果从第 5 到第 11 点更改任何元数据,它们将仅在下一个时期之后更改 - 对于这些元数据,你将希望在下一个时期后立即重新启动验证器程序,使用新的密钥文件和/或更新的 validator.yaml 配置。特别确保新地址没有被防火墙阻挡。

运行以下命令以查看如何更新每个元数据。

$ sui validator update-metadata --help

操作容量

操作容量允许验证器授权另一个帐户代表该验证器执行某些操作。详细了解此处的操作容量

操作容量持有者(验证器本身或委托方)更新其 Gas 价格,并报告具有操作容量的验证器对等方。

更新 Gas 价格

要更新 Gas 价格,请运行

$ sui validator update-gas-price <gas-price>

如果帐户本身是验证器并持有操作容量。或

$ sui validator update-gas-price --operation-cap-id <operation-cap-id> <gas-price>

如果帐户是委托方。

报告验证器

要报告验证器对等方,请运行

$ sui validator report-validator <reportee-address>

如果打算撤消现有的报告,请添加 --undo-report false

类似地,如果帐户是委托方,请在命令中添加 --operation-cap-id <operation-cap-id> 选项。

如果帐户本身是验证器并持有操作容量。或

$ sui validator update-gas-price --operation-cap-id <operation-cap-id> <gas-price>

如果帐户是委托方。

成为验证器 / 加入委员会

要成为验证器候选人,首先运行

$ sui validator make-validator-info <name> <description> <image-url> <project-url> <host-name> <gas_price>

这将生成一个 validator.info 文件和密钥对文件。此命令的输出包括:

  1. 四个密钥对文件(更多信息)。 ==使用最小可见性设置它们的权限(例如 chmod 600)并安全地存储它们==。在运行以下验证器节点时,它们是必需的,如下面所述。 a. 如果你仔细遵循本指南,此密钥对实际上是从你的 sui.keystore 文件复制的。
  2. 包含验证器信息的 validator.info 文件。仔细检查所有信息是否正确

然后运行

$ sui validator become-candidate {path-to}validator.info

以提交一个链上交易成为验证器候选人。参数是先前步骤中生成的 validator.info 文件的文件路径。确保交易成功(在输出中打印)。

在此时,你是验证器候选人,可以开始接受自我质押和委托质押。

如果你还没有,请现在启动一个全节点以赶上网络。当你正式加入委员会但未完全更新时,你无法对网络进行有意义的贡献,并且可能会受到对等体报告的影响,因此面临你和你的委托人质押奖励降低的风险。

一旦你收集到足够的质押金额,请运行

$ sui validator join-committee

以成为待处理的验证器。待处理的验证器将从下一个时期开始变为活跃并加入委员会。

离开委员会

要离开委员会,请运行

$ sui validator leave-committee

然后你将从下一个时期开始从委员会中删除。

生成用于创建 PoP 的有效载荷

序列化用于生成拥有权证明的有效载荷。这允许签名者将有效载荷脱机传递给一个具有权威协议 BLS 密钥对的签名者。

$ sui validator serialize-payload-pop --account-address $ACCOUNT_ADDRESS --protocol-public-key $BLS_PUBKEY
Serialized payload: $PAYLOAD_TO_SIGN