# 快速入门指南

此页面包含启动 Canto 验证器节点的分步说明。

一旦您设置了您的节点，请加入 Telegram 上的 [Canto Network Validator Announcements](https://discord.com/channels/993968517906960445/995469213080752159/1071089114503462982) 频道，以了解最新的链升级和其他治理建议。

> 硬件要求&#x20;
>
> 最低：16GB RAM，100GB NVME SSD，3.2 GHz x 4 CPU&#x20;
>
> 推荐：32GB RAM、500GB NVME SSD、4.2 GHz x 6 CPU&#x20;
>
> 操作系统：Linux（x86\_64 或 amd64）例如 Ubuntu 或 Arch Linux

## 1.安装依赖&#x20;

安装依赖项（Ubuntu）：

```css
sudo snap install go --classic
sudo apt-get install git
sudo apt-get install gcc
sudo apt-get install make
```

## 2. 安装`cantod`

克隆官方仓库并安装当前的二进制文件：

```
git clone https://github.com/Canto-Network/Canto.git
cd Canto
git checkout v5.0.0
make install
sudo mv $HOME/go/bin/cantod /usr/bin/
```

生成和存储密钥：

```
cantod keys add <key_name>
```

要从现有助记符中恢复密钥，请使用 --recover 标志。

## 3.初始化验证器&#x20;

初始化节点并下载创世文件：

```
cantod init <MONIKER> --chain-id canto_7700-1
cd ~/.cantod/config
rm genesis.json
wget https://github.com/Canto-Network/Canto/raw/genesis/Networks/Mainnet/genesis.json
```

将 替换为您想要命名验证器的任何名称。

4.编辑配置

```
# Add seed peer to config.toml
sed -i 's/seeds = ""/seeds = "ade4d8bc8cbe014af6ebdf3cb7b1e9ad36f412c0@seeds.polkachu.com:15556"/g' $HOME/.cantod/config/config.toml

# Set minimum gas price in app.toml
sed -i 's/minimum-gas-prices = "0acanto"/minimum-gas-prices = "0.0001acanto"/g' $HOME/.cantod/config/app.toml
```

## 5.创建systemd服务&#x20;

创建系统服务文件：

```
sudo nano /etc/systemd/system/cantod.service
```

复制并粘贴以下配置并保存：

```
[Unit]
Description=Canto Node
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/root/
ExecStart=/usr/bin/cantod start --trace --log_level info --json-rpc.api eth,txpool,personal,net,debug,web3 --api.enable
Restart=on-failure
StartLimitInterval=0
RestartSec=3
LimitNOFILE=65535
LimitMEMLOCK=209715200

[Install]
WantedBy=multi-user.target
```

## 6.启动节点

```
# Reload service files
sudo systemctl daemon-reload

# Create the symlink
sudo systemctl enable cantod.service

# Start the node
sudo systemctl start cantod

# Show logs
journalctl -u cantod -f
```

然后您应该得到几行日志文件，其中可能包含导致服务退出的 INVALIDARGUMENT 错误。 这是意料之中的； Ctrl + C 退出并执行后续步骤。

## 7.同步节点

除非你想运行一个存档节点，否则你应该使用手动快照或状态同步快照将你的节点同步到当前块。&#x20;

要使用状态同步：

```
# Set vars
SNAP_RPC="https://canto-rpc.polkachu.com:443"
LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height)
BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000))
TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)
echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH

# Stop node
sudo systemctl stop cantod

# Reset cantod
cantod tendermint unsafe-reset-all --home $CANTO_HOME --keep-addr-book

# Add state-sync settings
sed -i -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"|" $HOME/.cantod/config/config.toml

# Restart
sudo systemctl start cantod
```

## 8.创建验证者交易

修改以下项目，删除 <>&#x20;

* 当您按照上述步骤创建或恢复密钥时，\<KEY\_NAME> 应与 \<key\_name> 相同。
* \<VALIDATOR\_NAME> 是您想要命名节点的任何名称
* 是您在节点的描述字段中想要的任何内容
* \<SECURITY\_CONTACT\_EMAIL> 是您要在发生安全事件时使用的电子邮件
* \<YOUR\_WEBSITE> 您希望与您的节点相关联的网站
* \<TOKEN\_DELEGATION> 是您的节点抵押的代币数量（最少 1acanto）

```
cantod tx staking create-validator \
--from <KEY_NAME> \
--chain-id canto_7700-1 \
--moniker="<VALIDATOR_NAME>" \
--commission-max-change-rate=0.01 \
--commission-max-rate=1.0 \
--commission-rate=0.05 \
--details="<DESCRIPTION>" \
--security-contact="<SECURITY_CONTACT_EMAIL>" \
--website="<YOUR_WEBSITE>" \
--pubkey $(cantod tendermint show-validator) \
--min-self-delegation="1" \
--amount <TOKEN_DELEGATION>acanto \
--fees 30000000000000000acanto \
--gas 300000
```

您的验证者钱包必须包含非零数量的原生 $CANTO 才能发送验证者交易。 要获得一些，请按照下列步骤操作：

1. 运行 cantod debug addr $(cantod keys show \<key\_name> -a) 查看验证器的 Bech32 和 0x 地址。
2. 从 Canto EVM 钱包向显示的 0x 地址发送资金，或从 Canto Discord 中的#social-faucet 等水龙头向该地址请求资金。
3. 或者，要求已经拥有原生 $CANTO 的验证者将资金发送到 Bech32 Acc 地址。

## 9.更新二进制文件

一旦您的验证节点启动并运行，请加入 Telegram 上的 Canto Network Validator Announcements 频道，以了解最新的链升级和其他治理建议。

在二进制升级的情况下，您需要重新获取 Canto 存储库并在重新启动节点之前安装新的二进制文件：

```
git pull

git checkout v5.0.0
make install

# Don't forget to move the installed binary to your path
sudo mv $HOME/go/bin/cantod /usr/bin/

# Restart
sudo systemctl stop cantod.service
sudo systemctl start cantod.service
```
