> ## Documentation Index
> Fetch the complete documentation index at: https://docs.monad.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# 软重置说明

当节点(重新)加入网络且节点最新高度接近网络最新高度时,通常需要进行软重置。软重置利用 [statesync](/zh/monad-arch/consensus/statesync) 来确定当前状态与链最新高度之间的差异,并直接跳到最新高度。

<Note title="自动远程配置获取(v0.12.1+)">
  在 v0.12.1+ 中,如果定义了环境变量,节点将在启动时自动尝试获取远程配置文件:

  * [`forkpoint.toml`](/zh/monad-arch/consensus/forkpoint):每轮变化
  * `validators.toml`:每个 epoch 变化

  这通过自动化配置更新简化了节点运维。远程获取包含阈值逻辑,以确定何时应使用远程配置。

  **注意**:对于自动远程配置获取(v0.12.1+),请确保 `/home/monad/.env` 文件中定义了 `REMOTE_VALIDATORS_URL` 和 `REMOTE_FORKPOINT_URL`。有关配置详情,请参阅[全节点安装](/zh/node-ops/full-node-installation#remote-configuration-fetching-v0-12-1+)。
</Note>

## 自动化软重置(v0.12.1+)

从 v0.12.1 开始,如果在 `.env` 中定义了合适的变量,软重置将主要为自动化流程:

1. 以 `root` 用户身份 SSH 登录节点
2. 重启 monad 相关服务(`monad-bft` 在启动时会自动获取配置):
   ```bash theme={null}
   systemctl restart monad-bft monad-execution monad-rpc
   ```
3. 验证 systemd 服务正在运行:
   ```bash theme={null}
   systemctl list-units --type=service monad-bft.service monad-execution.service monad-rpc.service
   UNIT                    LOAD   ACTIVE SUB     DESCRIPTION
   monad-bft.service       loaded active running "Service file for Monad BFT"
   monad-execution.service loaded active running "Service file for Monad Execution"
   monad-rpc.service       loaded active running "Service file for Monad RPC"

   # Check logs for a specific process to verify config fetching
   journalctl -u monad-bft
   ```

## 手动软重置

若要禁用自动获取,请移除任何现有的定义(如需要,也可从 `/home/monad/.env` 中移除)

```bash theme={null}
unset REMOTE_VALIDATORS_URL
unset REMOTE_FORKPOINT_URL
```

1. 以 `root` 用户身份 SSH 登录节点

2. 停止 monad 相关服务
   ```bash theme={null}
   systemctl stop monad-bft monad-execution monad-rpc
   ```

3. 获取新的 `forkpoint.toml` 和 `validators.toml`。

   <Tabs>
     <Tab title="主网">
       ```bash theme={null}
       MF_BUCKET=https://bucket.monadinfra.com
       VALIDATORS_FILE=/home/monad/monad-bft/config/validators/validators.toml

       curl -sSL $MF_BUCKET/scripts/mainnet/download-forkpoint.sh | bash
       curl $MF_BUCKET/validators/mainnet/validators.toml -o $VALIDATORS_FILE
       chown monad:monad $VALIDATORS_FILE
       ```
     </Tab>

     <Tab title="测试网">
       ```bash theme={null}
       MF_BUCKET=https://bucket.monadinfra.com
       VALIDATORS_FILE=/home/monad/monad-bft/config/validators/validators.toml

       curl -sSL $MF_BUCKET/scripts/testnet/download-forkpoint.sh | bash
       curl $MF_BUCKET/validators/testnet/validators.toml -o $VALIDATORS_FILE
       chown monad:monad $VALIDATORS_FILE
       ```
     </Tab>
   </Tabs>

   您可能会看到以下日志消息:

   ```bash theme={null}
   failed to fetch remote configs, using local forkpoint and validators config
   ```

4. 启动 monad 相关服务
   ```bash theme={null}
   systemctl start monad-bft monad-execution monad-rpc
   ```

5. 验证 systemd 服务正在运行:
   ```bash theme={null}
   systemctl list-units --type=service monad-bft.service monad-execution.service monad-rpc.service
   UNIT                    LOAD   ACTIVE SUB     DESCRIPTION
   monad-bft.service       loaded active running "Service file for Monad BFT"
   monad-execution.service loaded active running "Service file for Monad Execution"
   monad-rpc.service       loaded active running "Service file for Monad RPC"

   # Check logs for a specific process, e.g. bft
   journalctl -u monad-bft
   ```

## 配置细节

### Forkpoint 序列化

从 v0.12.1 开始,forkpoint 以 TOML 和 RLP 两种格式序列化:

* **RLP 格式**:真实来源(source of truth)
* **TOML 格式**:为向后兼容而保留
* 如果 TOML 序列化失败,节点将不再 panic
* 为便于运维上的向后兼容,节点可以从任一格式启动
