ブロックログを設定する手順
このマニュアルでは、海外ギルドオペレーター制作のツールを組み合わせてブロックログを表示させるプログラムとなっております。
最終更新日:2021/8/03

🎉 ∞ お知らせ

このツールは海外ギルドオペレーター制作のCNCLI By AndrewWestberglogmonitor by Guild OperatorsGuild LiveViewBLOCK LOG for CNToolsを組み合わせたツールとなっております。カスタマイズするにあたり、開発者のAHLNET(AHL)にご協力頂きました。ありがとうございます。

🏁 0. 前提条件

稼働ノード

    BPノード限定

稼働要件

    4つのサービス(プログラム)をsystemd × tmuxにて常駐させます。
    ブロックチェーン同期用DBを新しく設置します(sqlite3)
    日本語マニュアルのフォルダ構成に合わせて作成されています。
    vrf.skey と vrf.vkeyが必要です。

ハードウェア最小構成

    オペレーティング・システム: 64-bit Linux (Ubuntu 20.04 LTS)
    プロセッサー: 1.6GHz以上(ステークプールまたはリレーの場合は2Ghz以上)の2つ以上のコアを備えたIntelまたはAMD x86プロセッサー
    メモリ:8GB
    SSD:50GB以上

インストール及びダウンロードツール内容

    CNCLI (依存プログラム含む) (コミュニティ製Cardano CLI)
    sqlite3 (データベースソフト)
    logmonitor.sh (ノードログ抽出プログラム)
    block.sh (ブロックログ表示ブログラム)
    cncli.sh (CNCLI操作用プログラム)
    cntools.config (設定ファイル)
    cntools.library (ライブラリファイル)
    env (設定ファイル)
    gLiveView.sh (ノード監視ツール)

🏁 1. CNCLIをインストールする

AndrewWestbergさんによって開発されたCNCLIはプールのブロック生成スケジュールを算出ツールを開発し、Shelley期におけるSPOに革命をもたらしました。
RUST環境を準備します
1
mkdir $HOME/.cargo && mkdir $HOME/.cargo/bin
2
chown -R $USER $HOME/.cargo
3
touch $HOME/.profile
4
chown $USER $HOME/.profile
Copied!
rustupをインストールします-デフォルトのインストールを続行します(オプション1)
1
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Copied!
1) Proceed with installation (default) 1を入力してEnter
1
source $HOME/.cargo/env
2
rustup install stable
3
rustup default stable
4
rustup update
5
rustup component add clippy rustfmt
Copied!
依存関係をインストールし、cncliをビルドします
1
source $HOME/.cargo/env
2
sudo apt-get update -y && sudo apt-get install -y automake build-essential pkg-config libffi-dev libgmp-dev libssl-dev libtinfo-dev libsystemd-dev zlib1g-dev make g++ tmux git jq wget libncursesw5 libtool autoconf
3
cd $HOME/git
4
git clone https://github.com/AndrewWestberg/cncli
5
cd cncli
6
git checkout v4.0.1
7
cargo install --path . --force
Copied!
CNCLIのバージョンを確認します。
1
cncli --version
Copied!

🏁 2. sqlite3をインストールする

1
sudo apt install sqlite3
2
sqlite3 --version
Copied!
3.31.1以上のバージョンがインストールされたらOKです。

🏁 3. 各種ファイルをダウンロードする

依存関係のあるプログラムをダウンロードします。
海外のギルドオペレーターによって開発された革新的な各種ツールです。
1
cd $NODE_HOME
2
mkdir scripts
3
cd $NODE_HOME/scripts
4
wget -N https://raw.githubusercontent.com/cardano-community/guild-operators/master/scripts/cnode-helper-scripts/cncli.sh
5
wget -N https://raw.githubusercontent.com/cardano-community/guild-operators/master/scripts/cnode-helper-scripts/cntools.config
6
wget -N https://raw.githubusercontent.com/btbf/coincashew/master/guild-tools/cntools.library
7
wget -N https://raw.githubusercontent.com/cardano-community/guild-operators/master/scripts/cnode-helper-scripts/env
8
wget -N https://raw.githubusercontent.com/cardano-community/guild-operators/master/scripts/cnode-helper-scripts/logMonitor.sh
9
wget -N https://raw.githubusercontent.com/cardano-community/guild-operators/master/scripts/cnode-helper-scripts/gLiveView.sh
10
wget -N https://raw.githubusercontent.com/btbf/coincashew/master/guild-tools/blocks.sh
Copied!

3-1.パーミッションを設定する

1
chmod 755 cncli.sh
2
chmod 755 logMonitor.sh
3
chmod 755 gLiveView.sh
4
chmod 755 blocks.sh
5
cd ../
6
chmod 400 vrf.vkey
Copied!

3-2.設定ファイルを編集する

envファイルを編集します
1
cd scripts
2
nano env
Copied!
ファイル内上部にある設定値を変更します。 先頭の # を外し、ご自身の環境に合わせuser_nameパスやファイル名、ポート番号を設定します。 下記以外の#がついている項目はそのままで良いです。
1
CCLI="/usr/local/bin/cardano-cli"
2
CNODE_HOME=/home/<user_name>/cardano-my-node
3
CNODE_PORT=6000
4
CONFIG="${CNODE_HOME}/mainnet-config.json"
5
SOCKET="${CNODE_HOME}/db/socket"
6
BLOCKLOG_TZ="Asia/Tokyo"
Copied!
cncli.shファイルを編集します。
1
nano cncli.sh
Copied!
ファイル内の設定値を変更します。 先頭の # を外し、ご自身の環境に合わせてプールIDやファイル名を設定します。
1
POOL_ID="<Pool-ID>"
2
POOL_VRF_SKEY="${CNODE_HOME}/vrf.skey"
3
POOL_VRF_VKEY="${CNODE_HOME}/vrf.vkey"
Copied!

🏁 4.サービスファイル5種類を作成・登録します。

1
cd $NODE_HOME
2
mkdir service
3
cd service
Copied!
cncli
validate
leaderlog
logmonitor
1
cat > $NODE_HOME/service/cnode-cncli-sync.service << EOF
2
# file: /etc/systemd/system/cnode-cncli-sync.service
3
4
[Unit]
5
Description=Cardano Node - CNCLI sync
6
BindsTo=cardano-node.service
7
After=cardano-node.service
8
9
[Service]
10
Type=oneshot
11
RemainAfterExit=yes
12
Restart=on-failure
13
RestartSec=20
14
User=$(whoami)
15
WorkingDirectory=$NODE_HOME
16
ExecStart=/usr/bin/tmux new -d -s cncli
17
ExecStartPost=/usr/bin/tmux send-keys -t cncli $NODE_HOME/scripts/cncli.sh Space sync Enter
18
ExecStop=/usr/bin/tmux kill-session -t cncli
19
KillSignal=SIGINT
20
RestartKillSignal=SIGINT
21
SuccessExitStatus=143
22
StandardOutput=syslog
23
StandardError=syslog
24
SyslogIdentifier=cnode-cncli-sync
25
TimeoutStopSec=5
26
27
[Install]
28
WantedBy=cardano-node.service
29
EOF
Copied!
1
cat > $NODE_HOME/service/cnode-cncli-validate.service << EOF
2
# file: /etc/systemd/system/cnode-cncli-validate.service
3
4
[Unit]
5
Description=Cardano Node - CNCLI validate
6
BindsTo=cnode-cncli-sync.service
7
After=cnode-cncli-sync.service
8
9
[Service]
10
Type=oneshot
11
RemainAfterExit=yes
12
Restart=on-failure
13
RestartSec=20
14
User=$(whoami)
15
WorkingDirectory=$NODE_HOME
16
ExecStart=/usr/bin/tmux new -d -s validate
17
ExecStartPost=/usr/bin/tmux send-keys -t validate $NODE_HOME/scripts/cncli.sh Space validate Enter
18
ExecStop=/usr/bin/tmux kill-session -t validate
19
KillSignal=SIGINT
20
RestartKillSignal=SIGINT
21
SuccessExitStatus=143
22
StandardOutput=syslog
23
StandardError=syslog
24
SyslogIdentifier=cnode-cncli-validate
25
TimeoutStopSec=5
26
27
[Install]
28
WantedBy=cnode-cncli-sync.service
29
EOF
Copied!
1
cat > $NODE_HOME/service/cnode-cncli-leaderlog.service << EOF
2
# file: /etc/systemd/system/cnode-cncli-leaderlog.service
3
4
[Unit]
5
Description=Cardano Node - CNCLI Leaderlog
6
BindsTo=cnode-cncli-sync.service
7
After=cnode-cncli-sync.service
8
9
[Service]
10
Type=oneshot
11
RemainAfterExit=yes
12
Restart=on-failure
13
RestartSec=20
14
User=$(whoami)
15
WorkingDirectory=$NODE_HOME
16
ExecStart=/usr/bin/tmux new -d -s leaderlog
17
ExecStartPost=/usr/bin/tmux send-keys -t leaderlog $NODE_HOME/scripts/cncli.sh Space leaderlog Enter
18
ExecStop=/usr/bin/tmux kill-session -t leaderlog
19
KillSignal=SIGINT
20
RestartKillSignal=SIGINT
21
SuccessExitStatus=143
22
StandardOutput=syslog
23
StandardError=syslog
24
SyslogIdentifier=cnode-cncli-leaderlog
25
TimeoutStopSec=5
26
27
[Install]
28
WantedBy=cnode-cncli-sync.service
29
EOF
Copied!
1
cat > $NODE_HOME/service/cnode-logmonitor.service << EOF
2
# file: /etc/systemd/system/cnode-logmonitor.service
3
4
[Unit]
5
Description=Cardano Node - CNCLI logmonitor
6
BindsTo=cardano-node.service
7
After=cardano-node.service
8
9
[Service]
10
Type=oneshot
11
RemainAfterExit=yes
12
Restart=on-failure
13
RestartSec=20
14
User=$(whoami)
15
WorkingDirectory=$NODE_HOME
16
ExecStart=/bin/bash -c "sleep 300;/usr/bin/tmux new -d -s logmonitor"
17
ExecStartPost=/usr/bin/tmux send-keys -t logmonitor $NODE_HOME/scripts/logMonitor.sh Enter
18
ExecStop=/usr/bin/tmux kill-session -t logmonitor
19
KillSignal=SIGINT
20
RestartKillSignal=SIGINT
21
SuccessExitStatus=143
22
StandardOutput=syslog
23
StandardError=syslog
24
SyslogIdentifier=cnode-logmonitor
25
TimeoutStopSec=5
26
27
[Install]
28
WantedBy=cardano-node.service
29
EOF
Copied!

4-1サービスファイルをシステムフォルダにコピーして権限を付与します。

1行づつコマンドに貼り付けてください
1
sudo cp $NODE_HOME/service/cnode-cncli-sync.service /etc/systemd/system/cnode-cncli-sync.service
2
sudo cp $NODE_HOME/service/cnode-cncli-validate.service /etc/systemd/system/cnode-cncli-validate.service
3
sudo cp $NODE_HOME/service/cnode-cncli-leaderlog.service /etc/systemd/system/cnode-cncli-leaderlog.service
4
sudo cp $NODE_HOME/service/cnode-logmonitor.service /etc/systemd/system/cnode-logmonitor.service
Copied!
1
sudo chmod 644 /etc/systemd/system/cnode-cncli-sync.service
2
sudo chmod 644 /etc/systemd/system/cnode-cncli-validate.service
3
sudo chmod 644 /etc/systemd/system/cnode-cncli-leaderlog.service
4
sudo chmod 644 /etc/systemd/system/cnode-logmonitor.service
Copied!

4-2サービスファイルを有効化します

1
sudo systemctl daemon-reload
2
sudo systemctl enable cnode-cncli-sync.service
3
sudo systemctl enable cnode-cncli-validate.service
4
sudo systemctl enable cnode-cncli-leaderlog.service
5
sudo systemctl enable cnode-logmonitor.service
Copied!

🏁 5.ブロックチェーンとDBを同期する

cncli-syncサービスを開始し、ログ画面を表示します
1
sudo systemctl start cnode-cncli-sync.service
2
tmux a -t cncli
Copied!
「100.00% synced」になるまで待ちます。 100%になったら、Ctrl+bを押した後に d を押し元の画面に戻ります(バックグラウンド実行に切り替え)

🏁 6.過去のブロック生成実績をDBに登録します。

1
cd $NODE_HOME/scripts
2
./cncli.sh init
Copied!

🏁 7.ログファイルを作成するように設定する

1
cd $NODE_HOME
2
nano mainnet-config.json
Copied!
    defaultScribesを下記のように書き換える
    1
    "defaultScribes": [
    2
    [
    3
    "FileSK",
    4
    "logs/node.json"
    5
    ],
    6
    [
    7
    "StdoutSK",
    8
    "stdout"
    9
    ]
    10
    ],
    Copied!
    setupScribesを下記のように書き換える
    1
    "setupScribes": [
    2
    {
    3
    "scFormat": "ScJson",
    4
    "scKind": "FileSK",
    5
    "scName": "logs/node.json"
    6
    },
    7
    {
    8
    "scFormat": "ScText",
    9
    "scKind": "StdoutSK",
    10
    "scName": "stdout",
    11
    "scRotation": null
    12
    }
    13
    ]
    Copied!
    Ctrl+Oでファイルを保存し、Ctrl+Xで閉じる
ノードを再起動する
1
sudo systemctl reload-or-restart cardano-node
Copied!
cardano-nodeを再起動すると、以下サービスも連動して再起動します。 cnode-cncli-sync.service cnode-cncli-validate.service cnode-cncli-leaderlog.service cnode-logmonitor.service
tmux起動確認
1
tmux ls
Copied!
4つの画面がバックグラウンドで起動中であればOKです
    cncli
    leaderlog
    validate
    logmonitor(5分後に遅延起動)

●各種サービスをストップする方法

1
sudo systemctl stop cnode-cncli-sync.service
Copied!
上記コマンドを実行すると以下サービスも連動して止まります cnode-cncli-validate.service cnode-cncli-leaderlog.service
1
sudo systemctl stop cnode-logmonitor.service
Copied!

●各種サービスを再起動する方法

1
sudo systemctl reload-or-restart cnode-cncli-sync.service
Copied!
上記コマンドを実行すると以下サービスも連動して止まります cnode-cncli-validate.service cnode-cncli-leaderlog.service

7-1. 3プログラムのログ画面を確認します。

validate
leaderlog
logmonitor
こちらのプログラムは生成したブロックが、ブロックチェーン上に記録されているか照合するためのプログラムです
1
tmux a -t validate
Copied!
以下表示なら正常です。
1
~ CNCLI Block Validation started ~
Copied!
Ctrl+bを押した後すぐにd でバックグラウンド実行に切り替えます(デタッチ)
こちらのプログラムはスロットリーダーを自動的に算出するプログラムです。 次エポックの1.5日前から次エポックのスケジュールを算出することができます。
1
tmux a -t leaderlog
Copied!
以下の表示なら正常です。 スケジュール予定がある場合、表示されるまでに5分ほどかかります。
1
~ CNCLI Leaderlog started ~
Copied!
Ctrl+bを押した後すぐにd でバックグラウンド実行に切り替えます(デタッチ)
こちらのプログラムはプールのノードログからブロック生成結果を抽出します。
1
tmux a -t logmonitor
Copied!
以下の表示なら正常です。
1
~~ LOG MONITOR STARTED ~~
2
monitoring logs/node.json for traces
Copied!
Ctrl+bを押した後すぐにd でバックグラウンド実行に切り替えます(デタッチ)

🏁 8.ブロックログを表示する

このツールでは上記で設定してきたプログラムを組み合わせ、割り当てられたスロットリーダーに対してのブロック生成結果をデータベースに格納し、確認することができます。
1
cd $NODE_HOME/scripts
2
./blocks.sh
Copied!
(s)実績概要---エポック毎のブロック生成実績参照 (e)エポック詳細---個別エポックのブロック生成スケジュールおよび生成実績参照
ブロックステータス:
    Leader - ブロック生成予定スロット
    Ideal - アクティブステーク(シグマ)に基づいて割り当てられたブロック数の期待値/理想値
    Luck - 期待値における実際に割り当てられたスロットリーダー数のパーセンテージ
    Adopted - ブロック生成成功
    Confirmed - 生成したブロックのうち確実にオンチェーンであることが検証されたブロック set in 'cncli.sh' for 'CONFIRM_BLOCK_CNT'
    Missed - スロットでスケジュールされているが、 cncli DB には記録されておらず他のプールがこのスロットのためにブロックを作った可能性
    Ghosted - ブロックは作成されましたが「Orpah(孤立ブロック)」となっております。 スロットバトル・ハイトバトルで敗北したか、ブロック伝播の問題で有効なブロックになっていません
    Stolen - 別のプールに有効なブロックが登録されているため、スロットバトルで敗北した可能性。
    Invalid - プールはブロックの作成に失敗しました。base64でエンコードされたエラーメッセージ。次のコードでデコードできます 'echo | base64 -d | jq -r'
メニュー項目が文字化けする場合は、システム文字コードが「UTF-8」であることを確認してください。
1
echo $LANG
Copied!

🏁 9.gLiveViewでブロック生成サマリを確認する

1
cd $NODE_HOME/scripts
2
./gLiveView.sh
Copied!
スクリプトへのパスを通し、任意の単語で起動出来るようにする。
1
echo alias blocks="$NODE_HOME/scripts/blocks.sh" >> $HOME/.bashrc
2
echo alias glive="$NODE_HOME/scripts/gLiveView.sh" >> $HOME/.bashrc
3
source $HOME/.bashrc
Copied!
単語を入力するだけで、どこからでも起動できます。 blocks・・・blocks.sh glive・・・gLiveView.sh

9-1. 次エポックのスケジュールを算出する

次エポックの1.5日前から次エポックのブロック生成スケジュールを算出することができます。
blocks.shを起動し、直近にブロック生成スケジュールが無いことを確認する
1
blocks
Copied!
ノードを再起動する
1
sudo systemctl reload-or-restart cardano-node
Copied!
cardano-nodeを再起動すると、以下サービスも連動して再起動します。 cnode-cncli-sync.service cnode-cncli-validate.service cnode-cncli-leaderlog.service cnode-logmonitor.service(5分後に遅延起動)
5分~10分後にblocks.shを起動する
1
blocks
Copied!
1
[e] エポック詳細 を選択し
2
「次エポック[***]のスロットリーダースケジュールが表示可能になっています」が表示されていればOKです
Copied!
スケジュールが無い場合、上記の文言は表示されません。以下のコマンドを使って算出内容を確認してください
1
tmux a -t leaderlog
Copied!

🏁 10. CNCLI更新手順

以下は最新版がリリースされた場合に実行してください
cncli旧バージョンからの更新手順
1時間以内にブロック生成スケジュールがないことを確認してから、以下を実施してください
1
rustup update
2
cd $HOME/git/cncli
3
git fetch --all --prune
4
git checkout v3.0.0
5
cargo install --path . --force
Copied!
バージョンを確認する
1
cncli --version
Copied!
ノードを再起動する
1
sudo systemctl reload-or-restart cardano-node
Copied!
ノードが同期したことを確認する
1
tmux a -t cncli
Copied!
100% syncedになったことを確認する
各サービスを表示し、envまたはcncli.shのアップデートメッセージがある場合は"n"で拒否
1
tmux a -t leaderlog
2
tmux a -t validate
Copied!
envまたはcncli.shのアップデートが必要になった場合は改めてアナウンスします。

11. 2021年5月19日以前から導入済みの方はこちら

cardano-nodeを再起動するとcncli-sync.serviceなど各サービスが落ち、個別に再起動しなければいけない不具合を解消します。
▼改修後の挙動▼ cardano-nodeを開始・再起動・停止すると各サービスも連動して開始・再起動・停止するように修正しました。
ブロック生成スケジュールに余裕がある時間帯に実施してください

11-1.各種サービスをストップする

1
sudo systemctl stop cnode-cncli-sync.service
2
#[パスワードを入力する]
3
sudo systemctl stop cnode-cncli-validate.service
4
sudo systemctl stop cnode-cncli-leaderlog.service
5
sudo systemctl stop cnode-logmonitor.service
Copied!

11-2.各種サービスファイルをアップデートする

1
cd $NODE_HOME/service
Copied!
cncli
validate
leaderlog
logmonitor
1
cat > $NODE_HOME/service/cnode-cncli-sync.service << EOF
2
# file: /etc/systemd/system/cnode-cncli-sync.service
3
4
[Unit]
5
Description=Cardano Node - CNCLI sync
6
BindsTo=cardano-node.service
7
After=cardano-node.service
8
9
[Service]
10
Type=oneshot
11
RemainAfterExit=yes
12
Restart=on-failure
13
RestartSec=20
14
User=$(whoami)
15
WorkingDirectory=$NODE_HOME
16
ExecStart=/usr/bin/tmux new -d -s cncli
17
ExecStartPost=/usr/bin/tmux send-keys -t cncli $NODE_HOME/scripts/cncli.sh Space sync Enter
18
ExecStop=/usr/bin/tmux kill-session -t cncli
19
KillSignal=SIGINT
20
RestartKillSignal=SIGINT
21
SuccessExitStatus=143
22
StandardOutput=syslog
23
StandardError=syslog
24
SyslogIdentifier=cnode-cncli-sync
25
TimeoutStopSec=5
26
27
[Install]
28
WantedBy=cardano-node.service
29
EOF
Copied!
1
cat > $NODE_HOME/service/cnode-cncli-validate.service << EOF
2
# file: /etc/systemd/system/cnode-cncli-validate.service
3
4
[Unit]
5
Description=Cardano Node - CNCLI validate
6
BindsTo=cnode-cncli-sync.service
7
After=cnode-cncli-sync.service
8
9
[Service]
10
Type=oneshot
11
RemainAfterExit=yes
12
Restart=on-failure
13
RestartSec=20
14
User=$(whoami)
15
WorkingDirectory=$NODE_HOME
16
ExecStart=/usr/bin/tmux new -d -s validate
17
ExecStartPost=/usr/bin/tmux send-keys -t validate $NODE_HOME/scripts/cncli.sh Space validate Enter
18
ExecStop=/usr/bin/tmux kill-session -t validate
19
KillSignal=SIGINT
20
RestartKillSignal=SIGINT
21
SuccessExitStatus=143
22
StandardOutput=syslog
23
StandardError=syslog
24
SyslogIdentifier=cnode-cncli-validate
25
TimeoutStopSec=5
26
27
[Install]
28
WantedBy=cnode-cncli-sync.service
29
EOF
Copied!
1
cat > $NODE_HOME/service/cnode-cncli-leaderlog.service << EOF
2
# file: /etc/systemd/system/cnode-cncli-leaderlog.service
3
4
[Unit]
5
Description=Cardano Node - CNCLI Leaderlog
6
BindsTo=cnode-cncli-sync.service
7
After=cnode-cncli-sync.service
8
9
[Service]
10
Type=oneshot
11
RemainAfterExit=yes
12
Restart=on-failure
13
RestartSec=20
14
User=$(whoami)
15
WorkingDirectory=$NODE_HOME
16
ExecStart=/usr/bin/tmux new -d -s leaderlog
17
ExecStartPost=/usr/bin/tmux send-keys -t leaderlog $NODE_HOME/scripts/cncli.sh Space leaderlog Enter
18
ExecStop=/usr/bin/tmux kill-session -t leaderlog
19
KillSignal=SIGINT
20
RestartKillSignal=SIGINT
21
SuccessExitStatus=143
22
StandardOutput=syslog
23
StandardError=syslog
24
SyslogIdentifier=cnode-cncli-leaderlog
25
TimeoutStopSec=5
26
27
[Install]
28
WantedBy=cnode-cncli-sync.service
29
EOF
Copied!
1
cat > $NODE_HOME/service/cnode-logmonitor.service << EOF
2
# file: /etc/systemd/system/cnode-logmonitor.service
3
4
[Unit]
5
Description=Cardano Node - CNCLI logmonitor
6
BindsTo=cardano-node.service
7
After=cardano-node.service
8
9
[Service]
10
Type=oneshot
11
RemainAfterExit=yes
12
Restart=on-failure
13
RestartSec=20
14
User=$(whoami)
15
WorkingDirectory=$NODE_HOME
16
ExecStart=/bin/bash -c "sleep 300;/usr/bin/tmux new -d -s logmonitor"
17
ExecStartPost=/usr/bin/tmux send-keys -t logmonitor $NODE_HOME/scripts/logMonitor.sh Enter
18
ExecStop=/usr/bin/tmux kill-session -t logmonitor
19
KillSignal=SIGINT
20
RestartKillSignal=SIGINT
21
SuccessExitStatus=143
22
StandardOutput=syslog
23
StandardError=syslog
24
SyslogIdentifier=cnode-logmonitor
25
TimeoutStopSec=5
26
27
[Install]
28
WantedBy=cardano-node.service
29
EOF
Copied!

11-3.サービスファイルを無効化する

1
sudo systemctl disable cnode-cncli-sync.service
2
sudo systemctl disable cnode-cncli-validate.service
3
sudo systemctl disable cnode-cncli-leaderlog.service
4
sudo systemctl disable cnode-logmonitor.service
Copied!

11-4.サービスファイルを入れ替える

1行づつコマンドに貼り付けてください
1
sudo cp $NODE_HOME/service/cnode-cncli-sync.service /etc/systemd/system/cnode-cncli-sync.service
2
sudo cp $NODE_HOME/service/cnode-cncli-validate.service /etc/systemd/system/cnode-cncli-validate.service
3
sudo cp $NODE_HOME/service/cnode-cncli-leaderlog.service /etc/systemd/system/cnode-cncli-leaderlog.service
4
sudo cp $NODE_HOME/service/cnode-logmonitor.service /etc/systemd/system/cnode-logmonitor.service
Copied!
1
sudo chmod 644 /etc/systemd/system/cnode-cncli-sync.service
2
sudo chmod 644 /etc/systemd/system/cnode-cncli-validate.service
3
sudo chmod 644 /etc/systemd/system/cnode-cncli-leaderlog.service
4
sudo chmod 644 /etc/systemd/system/cnode-logmonitor.service
Copied!

11-5.サービスファイルを有効化します

1
sudo systemctl daemon-reload
2
sudo systemctl enable cnode-cncli-sync.service
3
sudo systemctl enable cnode-cncli-validate.service
4
sudo systemctl enable cnode-cncli-leaderlog.service
5
sudo systemctl enable cnode-logmonitor.service
Copied!

11-6.ノードを再起動する

ノードを再起動する
1
sudo systemctl reload-or-restart cardano-node
Copied!

11-7.サービス起動確認

1
tmux ls
Copied!
5つの画面がバックグラウンドで起動中であればOKです
    cnode
    cncli
    leaderlog
    validate
    logmonitor(5分後に遅延起動)

12.blocks.shアップデート(2021/10/7以前から設定している場合)

1
cd $NODE_HOME/scripts
2
rm blocks.sh
3
wget https://raw.githubusercontent.com/btbf/coincashew/master/guild-tools/blocks.sh
4
chmod 755 blocks.sh
Copied!
・アップデート内容 blocks起動時にenvファイルやcncli.shの更新(y)を行うとファイル破損が発生する症状を修正
■envファイルバグ修正提出(alpha修正済み) ●症状 cncli.sh更新時にパーミッションが正しく設定されない問題
コード上の記述修正issuesを提出→受理済み https://github.com/cardano-community/guild-operators/issues/1135
次回envファイル更新時に修正されるため、(y)で更新をお願いします。
最終更新 12d ago