SPO JAPAN GUILD
ステークプール運用

DB同期(Mithril)

概要

  • このマニュアルではMithril-Clientを使用したcardano-node DB同期ブートストラップを実行します。
  • ノード初回起動時のDB同期時間を約2日から約30分以内にまで短縮できます。
  • Mithrilプロトコルはまだベータバージョンのため、ご自身の責任で実施してください。
  • この作業は 1. 依存関係インストール ~ 7. gLiveViewのインストールまで実施してから行って下さい。
  • スナップショットノードバージョンとサーバーノードバージョンが異なる場合、DB再構築処理が入る場合がありDB同期までに数時間かかります。

1. インストール

システムアップデート

ノード停止

sudo systemctl stop cardano-node

システムアップデート

sudo apt update && sudo apt upgrade -y

Mithirlインストール

cd $HOME/git
mithril_release="$(curl -s https://api.github.com/repos/input-output-hk/mithril/releases/latest | jq -r '.tag_name')"
wget https://github.com/input-output-hk/mithril/releases/download/${mithril_release}/mithril-${mithril_release}-linux-x64.tar.gz -O mithril.tar.gz

設定

tar zxvf mithril.tar.gz mithril-client
sudo cp mithril-client /usr/local/bin/mithril-client

パーミッション設定

sudo chmod +x /usr/local/bin/mithril-client

DLファイル削除

rm mithril.tar.gz mithril-client

バージョン確認

mithril-client -V

Mithril Githubのリリースノート内にあるmithril-client-cliのバージョンをご確認ください。

2. DBブートストラップ

tmux作業ウィンドウの作成

tmux new -s mithril

変数代入

export AGGREGATOR_ENDPOINT=https://aggregator.release-mainnet.api.mithril.network/aggregator
export GENESIS_VERIFICATION_KEY=$(wget -q -O - https://raw.githubusercontent.com/input-output-hk/mithril/main/mithril-infra/configuration/release-mainnet/genesis.vkey)
export ANCILLARY_VERIFICATION_KEY=$(wget -q -O - https://raw.githubusercontent.com/input-output-hk/mithril/main/mithril-infra/configuration/release-mainnet/ancillary.vkey)
export SNAPSHOT_DIGEST=latest

最新スナップショットのダウンロード

既存DBフォルダの削除

rm -rf $NODE_HOME/db

最新スナップショットダウンロード及び解凍

mithril-client cardano-db download \
  --download-dir $NODE_HOME \
  --include-ancillary \
  $SNAPSHOT_DIGEST

スナップショットダウンロード~解凍まで自動的に行われます。1/7~7/7が終了するまで待ちましょう。

DBスナップショットDL/解凍完了メッセージ

期待される表示例:
7/7 - Verifying the cardano db signature…    
Cardano database snapshot '*****' archives have been successfully unpacked. Immutable files have been successfully verified with Mithril.

tmux作業ウィンドウの終了

exit

3. ノード起動

sudo systemctl start cardano-node

ノード同期確認

gliveviewを起動し、最新ブロックと同期していることを確認します。

glive

Last updated on

Cookieの使用について

当サイトでは、ドキュメントの効果測定と利用状況の把握のため、Google Analytics を使用しています。

同意すると、分析用 Cookie が有効になります。