Skip to main content
这些说明仅适用于测试网主网可以忽略。

升级说明

从 v0.14.5 或更早版本升级: v0.14.6 和 v0.14.7 未部署给外部节点运营者。作为参考,这些版本中的变更列在 v0.14.6 发布说明v0.14.7 发布说明中。下面的 v0.15.0 升级说明涵盖了从 v0.14.5 的完整升级。
v0.15.0 对 node.toml 配置没有破坏性更改。
需要 DB 迁移(仅限现有节点): v0.15.0 在启动服务之前需要一次性数据库元数据迁移。请参见步骤 4获取确切命令。新配置的节点(全新的 DB)可以跳过步骤 4。始终使用 v0.15.0 monad-mpt 二进制文件运行迁移 — 首先在步骤 3 中安装它。
不再接受压缩的 RPC 请求: 如果您的集成发送压缩的请求体(例如 Content-Encoding: gzip),在升级前请切换为未压缩的请求。v0.15.0 删除了解压缩支持 — 升级后压缩的请求将被拒绝。
注意: v0.15.0 的 monad-mpt 二进制文件包含了对早期版本中存在的两个迁移边缘情况的修复:
  • 在跟踪 num_cnv_chunks 之前创建的数据库的节点在迁移期间会崩溃并出现 Assertion 'r != MAP_FAILED' — 已修复。(monad PR #2353
  • ≥15.8 TB 磁盘的节点在迁移期间可能会静默损坏数据 — 已修复。(monad PR #2387

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

2. 停止服务

3. 升级 monad 软件包

如果您在 GPG 签名方面遇到问题(例如签名无效),请使用以下命令更新密钥。
apt-mark hold monad 命令可防止 monad 软件包被 apt-get upgrade 自动升级。如果没有它,无人值守的系统升级可能会安装未经您的网络批准的更新版本的 monad,从而导致版本不匹配问题。

4. 运行 DB 迁移(仅限现有节点)

此步骤对于任何具有现有数据库的节点都是必需的。新配置的节点(全新的 DB)可以跳过此步骤。如果在现有数据库上跳过此步骤,服务将在启动时中止,并显示指示需要升级的日志消息 — 不会发生数据损坏。运行迁移并再次启动即可。
预期输出:迁移在 1 秒内完成,无错误。 注意: 如果您使用 monad-status 检查节点健康状况,请确保您有最新版本 — monad-mpt 的状态输出格式在 v0.15.0 中已更改,monad-status 已更新以支持它。

5. 启动服务并验证

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

6. 验证运行的版本正确

预期输出:

使用 monad-status 的运营者注意事项(可选)

对于使用 monad-status 的运营者,请按照这些说明下载新版本。 新版本的脚本与 monad 0.15.0 兼容,并向后兼容之前版本的 monad 客户端。

RPC 提供商注意事项(可选):启用 eth_simulateV1

eth_simulateV1 在 v0.15.0 中默认禁用。想要公开此方法的运营者可以通过在 monad-rpc 服务中添加 --enable-eth-simulate-v1 来启用它。

如何启用

步骤 1: 找到您当前的 monad-rpc systemd 覆盖文件:
输出将显示一个或多个文件。查找位于 /etc/systemd/system/monad-rpc.service.d/ 下的 drop-in 文件 — 这是您需要编辑的文件。 步骤 2: 打开 drop-in 文件并将 --enable-eth-simulate-v1 附加到 ExecStart 行的末尾:
编辑后 ExecStart 行应如下所示:
步骤 3: 重新加载并重启 monad-rpc

验证

如果已启用,您将收到执行响应(而不是 "Method not supported")。