跳转到主要内容
Cosmovisor 是专为基于 Cosmos SDK 的区块链设计的进程管理器,可简化二进制文件(链)升级的管理。本指南提供为 Injective 网络节点设置 Cosmovisor 的分步说明。
注意: 这些说明假设你已有现有的链二进制文件(例如 injectived),如果选择从源代码安装 Cosmovisor,还需要有可用的 Go 环境。请根据你的具体设置调整名称和路径。

目录

  1. 安装
  2. 环境变量
  3. 目录结构
  4. 运行 Cosmovisor
  5. 处理链升级
  6. 将 Cosmovisor 作为 Systemd 服务运行

安装

通过 Go 安装

如果你已安装 Go,可以使用以下命令安装 Cosmovisor:
提示: 确保你的 Go 二进制文件安装路径(通常是 $GOPATH/bin$HOME/go/bin)已添加到系统的 PATH 中。你可以通过运行以下命令验证安装:

环境变量

设置以下环境变量,以便 Cosmovisor 知道要运行哪个二进制文件以及在哪里找到它:
  • DAEMON_NAME
    你的链二进制文件的名称(例如 injectived)。
  • DAEMON_HOME
    你的节点的主目录(例如 ~/.injectived)。
你可以在 shell 的配置文件(如 ~/.bashrc~/.profile)中设置这些变量,或直接在终端会话中导出:

目录结构

Cosmovisor 期望在你的节点主目录中有特定的文件夹结构:
  1. 创建 Genesis 目录 此目录保存初始(genesis)二进制文件。
  2. 复制当前二进制文件 将当前的链二进制文件(例如 injectived)放入 genesis 文件夹。确保文件名与 DAEMON_NAME 值匹配(见下一节)。

运行 Cosmovisor

不要直接运行链的二进制文件,而是通过执行以下命令使用 Cosmovisor 启动节点:
Cosmovisor 将:
  • $DAEMON_HOME/cosmovisor/genesis/bin(或相应的升级文件夹)中查找二进制文件。
  • 使用该二进制文件启动你的节点。
  • 监控任何链上升级信号,并在需要时自动切换二进制文件。

处理链升级

当链上宣布升级时,准备新的二进制文件以便 Cosmovisor 可以自动切换:
  1. 创建升级目录 使用链上提供的升级名称(例如 v1.14.0):
  2. 放置新的二进制文件 编译或下载新的二进制文件,然后将其复制到升级目录。确保二进制文件名称与 DAEMON_NAME 匹配。
提示: 如果你从 GitHub 下载了 injectived 二进制文件包,我们会将 libwasmvm.x86_64.so 复制到升级的 bin 目录。稍后会在 systemd 服务中添加环境变量,将此目录添加到 LD_LIBRARY_PATH
  1. 升级过程 当达到升级高度时,Cosmovisor 将检测到计划的升级并自动切换到相应升级文件夹中的二进制文件。

将 Cosmovisor 作为 Systemd 服务运行

对于生产环境,通常将节点作为 systemd 服务运行。以下是示例服务文件。
  1. 创建服务文件 创建一个文件(例如 /etc/systemd/system/injectived.service),内容如下。根据需要调整路径和 <your_username>
  2. 启用并启动服务
  3. 检查日志 验证服务是否正常运行:

最后修改于 2026年3月30日