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

<Warning>
  这些说明仅适用于**测试网**。**主网**可以忽略。
</Warning>

## 升级说明

**`node.toml` 中的 `[prometheus]` 部分已重命名为 `[metrics]`。** 如果您之前配置了 `[prometheus]`，请将其替换为：

```toml theme={null}
[metrics]
enabled = true
listen_addr = "0.0.0.0:9143"
```

**指标端点默认启用。** 指标端点现在默认在端口 `9143/TCP` 上启用（以前是可选加入），监听 `0.0.0.0`。如果您有防火墙规则限制指标端口，请验证它们是否按预期配置。

<Warning>
  **MONAD\_TEN 激活（MIP-8：page 编码存储）**

  v0.16.0 在时间戳 `1786545000`（2026-08-12 14:30 UTC）在测试网上激活 MONAD\_TEN。主网激活时间尚未设定。

  所有节点**必须**在激活时间戳之前处于双 DB 模式（阶段 A 完成）。详情请参见 [MIP-8 激活与页存储迁移](/zh/node-ops/upgrade-instructions/page-storage-mip-8-migration)。

  **未完成阶段 A（双 DB 激活）的节点将无法在 v0.16.0 上启动。** 节点在测试网上强制执行 page 编码时间线断言 — 如果既未检测到 page 编码主时间线也未检测到活动的次时间线，节点将在启动时中止。
</Warning>

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

## 2. 验证双 DB 模式（阶段 A）

在升级之前，请确认您的节点已完成阶段 A（双 DB 激活）。没有活动 page 编码时间线的节点将无法在 v0.16.0 上启动。

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

您应该同时看到主时间线和次时间线：

```
Active timelines:
     Primary:
        State machine kind: ethereum
     Secondary:
        State machine kind: monad
```

如果您只看到一个 `ethereum` 主时间线，请在继续之前完成[阶段 A 迁移](/zh/node-ops/upgrade-instructions/page-storage-mip-8-migration#phase-a-page-activation)。

## 3. 停止服务

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

## 4. 升级 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.16.0 -y --allow-downgrades --allow-change-held-packages
sudo apt-mark hold monad
```

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

## 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":"c616743d1358186605e1c1b74a3d6c4fdd9dd48c","tag":"v0.16.0","branch":"","modified":true}
```
