> ## 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.2 升级说明

## 升级说明

`v0.15.2` 对 `node.toml` 配置没有破坏性更改。

<Warning>
  **Page 编码时间线支持**

  v0.15.2 引入了双时间线存储。
  每个节点最终都会激活并填充一个次要的 page 编码时间线。
  这是一个一次性操作，每个节点需要大约 8 分钟的离线时间。详情请参见 [MIP-8 激活与页存储迁移](/zh/node-ops/upgrade-instructions/page-storage-mip-8-migration)。

  **请在运行阶段 A 迁移之前等待官方公告**
</Warning>

<Warning>
  **`eth_call` 回滚错误代码已更改。** `eth_call` 执行回滚错误代码从 `-32603` 更改为 `3`。如果您的集成在回滚时检查 `-32603`，请更新为期望 `3`。
</Warning>

**可选：** 如果您之前在 `monad-bft` 上使用了 `--prometheus-addr` 或相关的 CLI 标志，这些现在在 `node.toml` 的 `[prometheus]` 部分进行配置。删除 CLI 标志并添加：

```toml theme={null}
[prometheus]
addr = "0.0.0.0:9090"
```

**注意：** 如果您在 `node.toml` 中有自定义的 `full_node_raptorcast.round_span` 值，请验证它是否 `≤ 960`。启动时将拒绝高于此上限的值。

<Warning>
  **`monad-sign-name-record` 标志更改。** `--address ip:port` 标志已被替换为独立的 `--ip`、`--tcp-port` 和 `--udp-port` 标志。更新任何调用 `monad-sign-name-record` 的脚本。

  ```diff theme={null}
  - monad-sign-name-record --address 1.2.3.4:30000 ...
  + monad-sign-name-record --ip 1.2.3.4 --tcp-port 30000 --udp-port 30000 ...
  ```
</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.2 -y --allow-downgrades --allow-change-held-packages
sudo apt-mark hold monad
```

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

## 4. 启动服务并验证

```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)`。确认节点重新加入并推进区块。

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

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

预期输出：

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