注意: これらの手順は、既存のチェーンバイナリ(例:injectived)があり、ソースからCosmovisorをインストールする場合にはGo環境が動作していることを前提としています。セットアップに応じて名前とパスを調整してください。
目次
インストール
Goによるインストール
Goがインストールされている場合、以下のコマンドでCosmovisorをインストールできます:ヒント: Goバイナリのインストールパス(通常$GOPATH/binまたは$HOME/go/bin)がシステムのPATHに追加されていることを確認してください。以下のコマンドでインストールを確認できます:
環境変数
Cosmovisorがどのバイナリを実行し、どこにあるかを認識できるように、以下の環境変数をセットアップします:-
DAEMON_NAME
チェーンのバイナリ名(例:injectived)。 -
DAEMON_HOME
ノードのホームディレクトリ(例:~/.injectived)。
~/.bashrcや~/.profileなど)に設定するか、ターミナルセッションで直接エクスポートできます:
ディレクトリ構造
Cosmovisorは、ノードのホームディレクトリに特定のフォルダ構造を必要とします:-
Genesisディレクトリの作成
このディレクトリには初期(genesis)バイナリが配置されます。
-
現在のバイナリのコピー
現在のチェーンバイナリ(例:
injectived)をgenesisフォルダに配置します。ファイル名がDAEMON_NAMEの値と一致していることを確認してください(次のセクションを参照)。
Cosmovisorの実行
チェーンのバイナリを直接実行する代わりに、以下のコマンドでCosmovisorを使用してノードを起動します:$DAEMON_HOME/cosmovisor/genesis/bin(または適切なアップグレードフォルダ)のバイナリを検索します。- そのバイナリを使用してノードを起動します。
- オンチェーンのアップグレードシグナルを監視し、必要に応じてバイナリを自動的に切り替えます。
チェーンアップグレードの処理
オンチェーンでアップグレードがアナウンスされた場合、Cosmovisorが自動的に切り替えられるように新しいバイナリを準備します:-
アップグレードディレクトリの作成
オンチェーンで提供されるアップグレード名(例:
v1.14.0)を使用します: -
新しいバイナリの配置
新しいバイナリをコンパイルまたはダウンロードし、アップグレードディレクトリにコピーします。バイナリ名が
DAEMON_NAMEと一致していることを確認してください。
**ヒント:**GitHubからinjectivedバイナリをダウンロードした場合は、libwasmvm.x86_64.soも同じbinディレクトリにコピーしてください。 systemd設定でこのディレクトリをLD_LIBRARY_PATHに追加する必要があります。
- アップグレードプロセス アップグレード高に達すると、Cosmovisorはスケジュールされたアップグレードを検出し、対応するアップグレードフォルダにあるバイナリに自動的に切り替えます。
Cosmovisorをsystemdサービスとして実行
本番環境では、ノードをsystemdサービスとして実行するのが一般的です。以下はサービスファイルの例です。-
サービスファイルの作成
以下の内容でファイル(例:
/etc/systemd/system/injectived.service)を作成します。パスと<your_username>を適宜調整してください: -
サービスの有効化と起動
-
ログの確認
サービスが正常に動作していることを確認します:
