> ## 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.

# v0.15.1 升级说明

<Warning>
  这些说明仅适用于**主网**。测试网运营者应保持在 v0.15.0，直到另行通知。
</Warning>

## 升级说明

v0.15.1 是在 v0.15.0 之上的**仅共识补丁**。它将投票节奏变更和区块奖励更新（MIP-12）的主网激活轮次设置为**第 89,758,000 轮**（约为周四 7 月 23 日上午 10:30 EDT）。

<Warning>
  **所有主网节点必须在第 89,758,000 轮之前升级到 v0.15.1。** 在该轮次未升级到 v0.15.1 的节点将无法识别新的区块奖励，并将脱离共识。
</Warning>

<Warning>
  **需要 DB 迁移（仅限现有节点）：** 如果从 v0.14.5 或更早版本升级，在启动服务之前需要一次性数据库元数据迁移。请参见[步骤 4](#4-run-db-migration-existing-nodes-only)获取确切命令。已在运行 v0.15.0 的节点可以跳过步骤 4。
</Warning>

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

## 2. 停止服务

```bash theme={null}
sudo systemctl stop monad-bft monad-execution monad-rpc
```

## 3. 升级 monad 软件包

<Warning>
  如果您在 GPG 签名方面遇到问题（例如签名无效），请使用以下命令更新密钥。
</Warning>

```bash theme={null}
curl -fsSL https://pkg.category.xyz/keys/public-key.asc \
  | gpg --dearmor --yes -o /etc/apt/keyrings/category-labs.gpg
```

```bash theme={null}
sudo apt update && sudo apt install --reinstall monad=0.15.1 -y --allow-downgrades --allow-change-held-packages
sudo apt-mark hold monad
```

<Warning>
  `apt-mark hold monad` 命令可防止 monad 软件包被 `apt-get upgrade` 自动升级。如果没有它，无人值守的系统升级可能会安装未经您的网络批准的更新版本的 monad，从而导致版本不匹配问题。
</Warning>

## 4. 运行 DB 迁移（仅限现有节点）

<Warning>
  此步骤对于从 v0.14.5 或更早版本升级的节点是必需的。已在运行 v0.15.0 的节点可以跳过此步骤。

  如果在现有数据库上跳过此步骤，服务将在启动时中止，并显示指示需要升级的日志消息 — 不会发生数据损坏。运行迁移并再次启动即可。
</Warning>

```bash theme={null}
monad-mpt --storage /dev/triedb --upgrade
```

预期输出：迁移在 1 秒内完成，无错误。

## 5. 启动服务并验证

```bash theme={null}
sudo systemctl start monad-bft monad-execution monad-rpc
sudo systemctl status monad-bft monad-execution monad-rpc --no-pager -l
```

预期输出：所有服务应显示 `Active: active (running)`

## 6. 验证运行的版本正确

```bash theme={null}
monad-rpc -V
```

预期输出：

```json theme={null}
monad-rpc {"commit":"fb3328c2e...","tag":"v0.15.1","branch":"","modified":true}
```
