ノードアップデート
このガイドは ノードバージョン11.0.1に対応しています。
最終更新日:2026年5月5日
バージョン対応表
各依存関係もバージョンアップしてますのでよくお読みになって進めてください
| OS | Node | CLI | GHC | Cabal | CNCLI |
|---|---|---|---|---|---|
| ubuntu 24.04.* | 11.0.1 | 11.0.0.0 | 9.6.7 | 3.12.1.0 | 6.7.0 |
■アップデートパターンDB再構築有無
| バージョン | DB再構築有無 | 設定ファイル更新有無 | トポロジーファイル更新有無 |
|---|---|---|---|
| 10.7.1 → 11.0.1 | なし | 更新あり | なし |
留意点
- 作業実施前にブロック生成スケジュールを確認してください。
- 複数行のコードをコードボックスのコピーボタンを使用してコマンドラインに貼り付ける場合は、最後の行が自動実行されないため確認の上
Enterを押してコードを実行してください。 - OSバージョンアップを完了していること
Ubuntu22.04から24.04へ移行
1. 依存環境アップデート
現在のノードバージョンを変数に代入
current_node=$(cardano-node version | grep cardano-node)
echo $current_nodeシステムのアップデートと依存関係のインストール
sudo apt update && sudo apt upgrade -ysudo apt install bc curl htop nano needrestart protobuf-compiler rsync ufw zstd automake build-essential pkg-config libffi-dev libgmp-dev libssl-dev libncurses-dev libsystemd-dev zlib1g-dev make g++ tmux git jq wget libtool autoconf liblmdb-dev liburing-dev libsnappy-dev -y依存関係バージョン確認
cabalバージョン確認
cabal --versioncabal-install version 3.12.1.0
compiled using version 3.12.1.0 of the Cabal library GHCバージョン確認
ghc --versionThe Glorious Glasgow Haskell Compilation System, version 9.6.7libsodiumコミット確認
cd $HOME/git/libsodium
git branch --contains | grep -m1 HEAD | cut -c 21-28dbb48ccesecp256k1バージョン確認
cd $HOME/git/secp256k1
git branch --contains | grep -m1 HEAD | cut -c 21-27acf5c55Blstバージョン確認
インストール済みバージョン
cat /usr/local/lib/pkgconfig/libblst.pc | grep VersionVersion: 0.3.14各アプリのバージョン(戻り値)が上記と異なる場合は、該当する項目を開いて対応してください。
CNCLIバージョン確認(BPのみ)
CNCLIバージョン確認
cncli --versioncncli v6.7.0 <8162cfb> (x86_64-unknown-linux-gnu)2. ノードアップデート
バイナリファイルインストール方法の違いについて
-
ビルド済みバイナリ・・・IntersectMBOリポジトリソースコードからビルドされたバイナリファイルをダウンロードします。ビルド不要のためビルド時間を短縮できます。
-
ソースコードからビルド・・・ご自身のサーバーでソースコードからビルドしてバイナリファイルを作成します。検証目的やソースコードからビルドしたい場合に利用できます。ビルドに30分前後かかります。Raspberry Piを使用してプールを構築する場合は、ARM用バイナリを使用する必要があります。
バイナリダウンロード
旧バイナリの削除
rm -rf $HOME/git/cardano-node-old/バイナリファイルのダウンロード
mkdir $HOME/git/cardano-node2
cd $HOME/git/cardano-node2
wget -q https://github.com/IntersectMBO/cardano-node/releases/download/11.0.1/cardano-node-11.0.1-linux-amd64.tar.gz解凍
tar zxvf cardano-node-11.0.1-linux-amd64.tar.gz ./bin/cardano-node ./bin/cardano-cli ./bin/snapshot-converterバージョンの確認
$(find $HOME/git/cardano-node2 -type f -name "cardano-node") version
$(find $HOME/git/cardano-node2 -type f -name "cardano-cli") versioncardano-node 11.0.1 - linux-x86_64 - ghc-9.6
git rev 97036a66bcf8c89f687ae57a048eecc0389977ef
cardano-cli 11.0.0.0 - linux-x86_64 - ghc-9.6
git rev 97036a66bcf8c89f687ae57a048eecc0389977efノードの停止
sudo systemctl stop cardano-nodeバイナリインストール
バイナリーファイルをシステムフォルダーへコピー
sudo cp $(find $HOME/git/cardano-node2 -type f -name "cardano-node") /usr/local/bin/cardano-nodesudo cp $(find $HOME/git/cardano-node2 -type f -name "cardano-cli") /usr/local/bin/cardano-cliシステムに反映されたノードバージョンの確認
cardano-node version
cardano-cli versioncardano-node 11.0.1 - linux-x86_64 - ghc-9.6
git rev 97036a66bcf8c89f687ae57a048eecc0389977ef
cardano-cli 11.0.0.0 - linux-x86_64 - ghc-9.6
git rev 97036a66bcf8c89f687ae57a048eecc0389977efソースコードダウンロード
現在のノードバージョンを変数に代入
current_node=$(cardano-node version | grep cardano-node)
echo $current_nodeTMUXセッションを展開
tmux new -s buildアップデート作業中にSSHが中断した場合は、
tmux a -t buildで再開できます。
以前ビルドしたディレクトリの削除
rm -rf $HOME/git/cardano-node-old/ソースコードのダウンロード
cd $HOME/git
git clone https://github.com/IntersectMBO/cardano-node.git cardano-node2
cd cardano-node2/2-2.ソースコードからビルド
cabal clean
cabal updategit fetch --all --recurse-submodules --tags
git checkout tags/11.0.1
cabal configure --with-compiler=ghc-9.6.7cabal build all cardano-cliヒント
- ビルド完了までに数十分ほどかかります。
- SSH接続が途中で切断された場合、再度接続して
tmux a -t buildで再開してください。 - ビルド中にデタッチ(Ctrl+B D)してバックグラウンド処理へ切り替えられます。
バージョン確認
$(./scripts/bin-path.sh cardano-node) version
$(./scripts/bin-path.sh cardano-cli) versioncardano-node 11.0.1 - linux-x86_64 - ghc-9.6
git rev 97036a66bcf8c89f687ae57a048eecc0389977ef
cardano-cli 11.0.0.0 - linux-x86_64 - ghc-9.6
git rev 97036a66bcf8c89f687ae57a048eecc0389977efビルド用TMUXセッションを終了します。
exitノードの停止
sudo systemctl stop cardano-nodeバイナリーファイルをシステムフォルダーへコピー
cd $HOME/git/cardano-node2
sudo cp $(./scripts/bin-path.sh cardano-node) /usr/local/bin/cardano-nodesudo cp $(./scripts/bin-path.sh cardano-cli) /usr/local/bin/cardano-cliシステムに反映されたノードバージョンの確認
cardano-node version
cardano-cli versioncardano-node 11.0.1 - linux-x86_64 - ghc-9.6
git rev 97036a66bcf8c89f687ae57a048eecc0389977ef
cardano-cli 11.0.0.0 - linux-x86_64 - ghc-9.6
git rev 97036a66bcf8c89f687ae57a048eecc0389977ef設定ファイル更新
既存ファイルのバックアップ
mkdir -p $NODE_HOME/backup
cp $NODE_HOME/${NODE_CONFIG}-config.json $NODE_HOME/backup/${NODE_CONFIG}-config.json設定ファイルダウンロード
BPとリレー共通:
cd $NODE_HOME
wget -q https://spojapanguild.net/node_config/11.0.1/${NODE_CONFIG}-config.json -O ${NODE_CONFIG}-config.json
wget -q https://spojapanguild.net/node_config/11.0.1/${NODE_CONFIG}-checkpoints.json -O ${NODE_CONFIG}-checkpoints.jsonサーバー再起動
作業フォルダリネーム
以前のバージョンで使用していたバイナリフォルダをリネームし、バックアップとして保持します。
最新バージョンを構築したフォルダをcardano-nodeとして使用します。
cd $HOME/git
mv cardano-node/ cardano-node-old/
mv cardano-node2/ cardano-node/サーバーの再起動
sudo rebootSSH接続後、ノード同期状況の確認
journalctl -u cardano-node -fノードログメッセージ確認
以下のメッセージがログに含まれている場合に同期状況を判断できます。
| メッセージ | ステータス |
|---|---|
Chain extended, new tip: xxxxxxxx at slot xxxxxx | チェーン同期成功 |
GenesisReadFileError | ジェネシスファイルエラー |
InvalidYaml | 設定ファイルエラー |
Invalid option | 起動オプションエラー |
Invalid argument | 起動コマンドエラー |
Address in use | ノード起動ポートが競合しています |
3. 依存関係作業
リレー/BP共通
gLiveView更新
sed -i $NODE_HOME/scripts/env \
-e '1,73s!UPDATE_CHECK="N"!UPDATE_CHECK="Y"!' \
-e '1,73s!#PROM_HOST=127.0.0.1!PROM_HOST=127.0.0.1!' \
-e '1,73s!#PROM_PORT=12798!PROM_PORT=12798!'gliveの起動
glive更新メッセージが表示されたらyesを入力してenter
env script update(s) detected, do you want to download the latest version? (yes/no): yesgLiveView.sh更新完了のメッセージが表示されたら再度enter
gLiveView.sh update successfully applied!
press any key to proceed ..更新フラグの切り替え
sed -i $NODE_HOME/scripts/env \
-e '1,73s!UPDATE_CHECK="Y"!UPDATE_CHECK="N"!'gliveバージョン確認
gliveKoios gLiveView v1.32.0BPサービス確認
BPノードが完全に同期した後、サービス起動状態を確認します。
- cnclilog
- leaderlog
- validate
- logmonitor
- blocknotify(SPO Block Notifyを導入している場合)
Grafanaアラートの対象メトリクス変更
すでに対応済みの場合は、スキップしてください。
左ペインの「Alerting」→「Alert rules」→「ノード監視」→「BPリレー接続監視」のメトリクスを変更して保存します。
cardano_node_metrics_peers_connectedPeers_intから
cardano_node_metrics_peerSelection_ActivePeersへと変更してください。
4. エアギャップアップデート
SFTP機能ソフト導入
R-loginの転送機能が遅いので、大容量ファイルをダウン・アップロードする場合は、SFTP接続可能なソフトを使用すると効率的です。(FileZilaなど)
ファイル転送にはSFTPソフト設定を行ってください。
sudo cp $(find $HOME/git/cardano-node -type f -name "cardano-cli") ~/cardano-cliUSBを用いてcardano-cliをエアギャップに移動します。
ディレクトリ作成
mkdir -p $HOME/git/cardano-node2$HOME/git/cardano-node2/ に
cardano-cliを格納します。
cardano-cli バイナリの配置
sudo cp $(find $HOME/git/cardano-node2 -type f -name "cardano-cli") /usr/local/bin/cardano-clisudo chmod +x /usr/local/bin/cardano-cliバージョンの確認
cardano-cli version戻り値確認
cardano-cli 11.0.0.0 - linux-x86_64 - ghc-9.6
git rev 97036a66bcf8c89f687ae57a048eecc0389977efcd $HOME/git/cardano-node
sudo cp $(./scripts/bin-path.sh cardano-cli) ~/cardano-cli必要ライブラリ取得
SODIUM_PATH=$(ldconfig -p | grep "libsodium.so.23" | head -1 | awk '{print $NF}')
SECP_PATH=$(ldconfig -p | grep "libsecp256k1.so.2" | head -1 | awk '{print $NF}')
cp -L "$SODIUM_PATH" $HOME/libsodium.so.23
cp -L "$SECP_PATH" $HOME/libsecp256k1.so.2確認
ll $HOME/cardano-cli $HOME/libsodium.so.23 $HOME/libsecp256k1.so.2戻り値確認
cardano-cli
libsecp256k1.so.2
libsodium.so.23ファイル転送
USBを用いてcardano-cli、libsecp256k1.so.2、libsodium.so.23をエアギャップの$HOME/git/cardano-node2に移動します。
エアギャップで以下を実行します。
ディレクトリ作成
mkdir -p $HOME/git/cardano-node2cardano-cliの配置
sudo cp $HOME/git/cardano-node2/cardano-cli /usr/local/bin/cardano-cli権限付与
sudo chmod +x /usr/local/bin/cardano-cli依存ライブラリ配置用ディレクトリ作成
sudo mkdir -p /usr/local/liblibディレクトリにlibsecp256k1.so.2、libsodium.so.23を配置
sudo cp $HOME/git/cardano-node2/libsecp256k1.so.2 /usr/local/lib/sudo cp $HOME/git/cardano-node2/libsodium.so.23 /usr/local/lib/権限設定
sudo chown root:root /usr/local/lib/libsecp256k1.so.2sudo chown root:root /usr/local/lib/libsodium.so.23sudo chmod 755 /usr/local/lib/libsecp256k1.so.2sudo chmod 755 /usr/local/lib/libsodium.so.23シンボリックリンク作成
cd /usr/local/liblibsecp256k1
sudo ln -sf libsecp256k1.so.2 libsecp256k1.solibsodium
sudo ln -sf libsodium.so.23 libsodium.soリンカーの更新
echo '/usr/local/lib' | sudo tee /etc/ld.so.conf.d/local.conf
sudo ldconfig依存関係確認
ldd /usr/local/bin/cardano-cli | grep -E "secp|sodium"戻り値確認
libsodium.so.23 => /usr/local/lib/libsodium.so.23 (*****)
libsecp256k1.so.2 => /usr/local/lib/libsecp256k1.so.2 (*****)cardano-cliの動作確認
cardano-cli version戻り値確認
cardano-cli 11.0.0.0 - linux-x86_64 - ghc-9.6
git rev 97036a66bcf8c89f687ae57a048eecc0389977efLast updated on