Skip to content
🎉 Welcome to the new Aptos Docs! Click here to submit feedback!
Network
身份和配置

节点身份和配置

在 Aptos 网络上安装节点时,安装的过程中需要您处理身份和配置。本文档描述了如何理解术语 身份配置,并提供了身份 YAML 文件的说明。

在 Aptos 网络中安装节点时,您将需要配置身份和系统设置。本文档将指导您如何理解**身份(identity)配置(configuration)**这两个术语,并详细介绍了身份相关的 YAML 配置文件。

概念

本节提供了关于身份和配置的概念模型,旨在帮助您更轻松地完成节点的安装过程。

术语身份配置应按以下方式理解:

  • 验证者节点全节点验证者全节点:指的是物理或虚拟主机(machine)。
  • 运营者所有者投票者:指的是角色。
  • 主机具有身份和配置。它们分别在单独的 YAML 文件中定义。角色的身份和配置被合并到一个 YAML 文件中。

主机

身份

主机的身份信息是通过一个 YAML 文件来定义的。这个身份的确立依赖于一组特定的密钥。在这样的一个 YAML 文件中,只会包含私有密钥。而且,身份文件还会总是携带与之相对应的区块链账户地址。

主机身份 YAML 在其名称中包含字符串 identity。例如:

  • validator-identity.yaml 包含验证节点的私钥。
  • validator-full-node-identity.yaml 包含验证者全节点和公共全节点的私钥。

因此,如果您正在寻找主机的私钥,请查找名称中包含identity的 YAML 文件。

配置

主机的配置信息也是通过 YAML 文件来定义的。不同于身份文件,主机配置 YAML 文件绝不包括任何形式的密钥,无论公钥还是私钥。举例来说,如 validator.yaml、fullnode.yaml、docker-compose.yaml 以及 docker-compose-fullnode.yaml 这些配置文件,它们都不会包含密钥信息

如前所述,主机具有身份和配置。因此:

  • 对于验证者节点,身份在 validator-identity.yaml 中定义,配置在 validator.yaml 中。
  • 对于验证者全节点,其身份在 validator-full-node-identity.yaml 中定义,其配置在 fullnode.yaml 中。

角色

身份和配置

角色有一个单一的 YAML,结合了角色的身份和配置信息。例如,对于三个角色 —— 所有者、运营者和投票者:

每个角色都拥有一个独立的 YAML 文件,该文件融合了角色的身份认证和配置信息。例如,三种角色:拥有者(owner)、运营者(operator)以及投票者(voter):

  • 所有者的身份及其配置详细信息均在 owner.yaml 文件中进行了定义。该文件不仅包括所有者、操作者以及投票者的公钥和区块链账户地址,还规定了一些特别针对拥有者角色的配置项,比如质押金额和佣金的比例。
  • 运营者的身份信息及配置设置都记录在 operator.yaml 文件中。这个文件详细列出了操作者的公钥和区块链账户地址,以及与设备相关的配置信息,并特别包括了共识用的公钥和证明所有权的密钥。唯一拥有这些共识关键信息的是运营者,而不是所有者或投票者。
  • 投票者的身份配置,即 voter.yaml,不存在。

身份 YAML 文件的描述

本节解释了在部署验证者节点期间生成以下密钥(key)和身份(identity)的 YAML 文件:

  • public-keys.yaml.
  • private-keys.yaml.
  • validator-identity.yaml.
  • validator-full-node-identity.yaml.

要生成上面提到的密钥和身份 YAML 文件,可以使用下列命令。具体操作可以参见部署验证节点时,在亚马逊云服务(AWS)下的第 10 步,或者是在谷歌云平台(GCP)下的第 10 步

Terminal
aptos genesis generate-keys --output-dir ~/$WORKSPACE/keys

请参阅下图,它展示了如何从私钥和公钥派生验证者节点和验证者全节点的身份:

public-keys.yaml

示例

点击查看示例 YAML 配置:

public-keys.yaml
---
account_address: a5a643aa695fc5f34927386c8d767cddcc0607933f40c89a7ad78de7804965b8
account_public_key: "0x9ccfc50f334064e1b24455029a5bc1646a2c4dd2b1433de1364470692ba6b99b"
consensus_public_key: "0xa7e8334381d9f80d33d70da543aea22c87fe9862ab7df5cbef9ee11b5285b89c56e0e7a3a78c1561833b2d6fa4d9d4bf"
consensus_proof_of_possession: "0xa51dfd1734e581df99c4c637324ee38c3e48e51c61c1e1dd03bd5a84cf1cd5b2fa00e976b9a9ea0e0908f0d53085318c03f24de3ebf86b07ff883effe0142e0d3f24c7c1e36dd198ea4d8eb6f5c5a2f3a188de22720bd1914a9effa6f595de38"
full_node_network_public_key: "0xa6845691a00d6cfdaa9823c4d12b2b5e13d2ecfdc3049d0f2838c805bfd01633"
validator_network_public_key: "0x71f2642aeaa6cbfacf75663cf14d2f6e9e1bd890f9bc1c96900fd225cce01836"

描述

public-keys.yaml描述
account_address运营者的 Aptos 区块链账户地址,即部署验证者节点的角色。
account_public_key与区块链账户关联的公钥。
consensus_public_key仅由运营者用于验证目的。
consensus_proof_of_possession仅由运营者用于验证目的。
full_node_network_public_key用于识别 Aptos 网络中 VFN(验证者全节点)或 PFN(公共全节点)的全节点公钥。
validator_network_public_key验证者节点的公钥,用于在 Aptos 网络中识别验证者节点。

private-keys.yaml

示例

点击查看示例 YAML 配置:

private-keys.yaml
---
account_address: a5a643aa695fc5f34927386c8d767cddcc0607933f40c89a7ad78de7804965b8
account_private_key: "0x80478d60a52f54a88e7095abf48b1f4294a335b30f1066cd73768b9b789e833f"
consensus_private_key: "0x4aedda33ef3fd71243eb2a926307d8826c95b9939f88e753d62d9bc577e99916"
full_node_network_private_key: "0x689c11c6e5405219b5eae1312086c801e3a044946afc74429e5157b46fb65b61"
validator_network_private_key: "0xa03ec46b24f2f1066d7980dc13b4baf722ba60c367e498e47a657ba0815adb58"

描述

private-keys.yaml描述
account_address运营者的 Aptos 区块链账户地址,即部署验证者节点的角色。
account_private_key与区块链账户关联的私钥。
consensus_private_key仅由运营者用于验证目的和轮换共识密钥的共识私钥。
full_node_network_private_key全节点的私钥。持有此私钥的人将能够在 Aptos 网络中拥有对 VFN 和 PFN 的所有权。
validator_network_private_key验证者节点的私钥。持有此私钥的人将能够在 Aptos 网络中拥有验证者节点的所有权。

validator-identity.yaml

示例

点击查看示例 YAML 配置:

validator-identity.yaml
---
account_address: a5a643aa695fc5f34927386c8d767cddcc0607933f40c89a7ad78de7804965b8
account_private_key: "0x80478d60a52f54a88e7095abf48b1f4294a335b30f1066cd73768b9b789e833f"
consensus_private_key: "0x4aedda33ef3fd71243eb2a926307d8826c95b9939f88e753d62d9bc577e99916"
network_private_key: "0xa03ec46b24f2f1066d7980dc13b4baf722ba60c367e498e47a657ba0815adb58"

描述

validator-identity.yaml描述
account_address运营商的 Aptos 区块链账户地址,即部署验证者节点的角色。
account_private_key与区块链账户关联的私钥。
consensus_private_key仅由运营商用于验证目的和轮换共识密钥的共识私钥。
network_private_key验证者节点的私钥。持有此私钥的人将能够在 Aptos 网络中建立验证者节点的所有权。

validator-full-node-identity.yaml

示例

点击查看示例 YAML 配置:

validator-full-node-identity.yaml
---
account_address: a5a643aa695fc5f34927386c8d767cddcc0607933f40c89a7ad78de7804965b8
network_private_key: "0x689c11c6e5405219b5eae1312086c801e3a044946afc74429e5157b46fb65b61"

描述

validator-full-node-identity.yaml描述
account_address运营者的 Aptos 区块链账户地址,即部署验证者节点的角色。
network_private_key全节点的私钥。持有此私钥的人将能够在 Aptos 网络中拥有对 VFN 和 PFN 的所有权。