# 创世验证者设置 (Genesis validator setup)

创世验证者是指从链的第一个区块开始就是验证者的验证者，即在创世时。创世验证者的详细信息被硬编码到分发给所有想要与链交互的用户的创世文件中。



### 先决条件 (Prerequisites)

* 符合运行验证者节点[要求](../ying-jian-yao-qiu-hardware-requirements)的机器
* 与可从任何地方访问的端口 26656 的关联公共 IPv4 地址，以实现 P2P 连接



***



## 创世前 (Pre-genesis)

要为即将推出的网络设置创世验证者的[所有必需密钥](#bi-xu-de-mi-yao-required-keys)，您可以使用您选择的别名执行以下命令。请注意，此别名是公开的（您的验证者账户的地址将在每个钱包中可见），并且必须在网络中是唯一的。



您还必须为您未来节点的 P2P 地址的 `--net-address` 参数提供一个静态的 `{IP:port}`。



### 1、创建您的验证者密钥：

```
export ALIAS="CHOOSE_A_NAME_FOR_YOUR_VALIDATOR"
export PUBLIC_IP="LAPTOP_OR_SERVER_IP"
namada client utils init-genesis-validator --alias $ALIAS \
--max-commission-rate-change 0.01 --commission-rate 0.05 \
--net-address $PUBLIC_IP:26656
```



### 2、生成密钥后，命令将打印类似于以下内容：&#x20;

{% hint style="info" %}
如果您设置了变量 $XDG\_DATA\_HOME，则此处将写入创世前的 TOML。否则，请参阅下面的默认位置。
{% endhint %}

#### Linux&#x20;

```
Pre-genesis TOML written to $HOME/.local/share/namada
```

#### MacOS&#x20;

```
Pre-genesis TOML written to /Users/$USER/Library/Application\ Support/Namada
```



### 3、将此目录保存为以后使用的环境变量：&#x20;

#### Linux

```
export BASE_DIR="$HOME/.local/share/namada"
```

#### MacOS

```
export BASE_DIR="/Users/$USER/Library/Application\ Support/Namada"
```

此文件是您的验证者的公共配置。您可以安全地将此文件与负责设置和发布链的最终创世文件和 Namada 配置的网络组织者共享。



请注意，包含您的私钥的钱包也将写入此目录。



#### 4、您可以通过运行以下命令打印 validator.toml：&#x20;

#### Linux

```
cat $HOME/.local/share/namada/pre-genesis/$ALIAS/validator.toml
```

#### MacOS

```
cat $HOME/Library/Application\ Support/Namada/pre-genesis/$ALIAS/validator.toml
```



***



## 必需的密钥 (Required keys)

* 账户密钥 (Account key)：可用于签署需要在默认验证者有效性谓词中进行授权的交易，例如余额转移。
* 股权奖励密钥 (Staking rewards key)：可用于签署 PoS 股权奖励账户上的交易。
* 协议密钥 (Protocol key)：此密钥由验证者的账本本身使用，以代表验证者签署协议交易。
* DKG 密钥 (DKG key)：参与 DKG 协议所需的特殊密钥。
* 共识密钥 (Consensus key)：用于 CometBFT 共识层。目前，此密钥被写入一个由 CometBFT 读取的文件。
* Eth 热密钥 (Eth hot key)：用于验证 eth-bridge 交易。
* Eth 冷密钥 (Eth cold key)：用于紧急 eth-bridge 操作。
