IBC リレーヤーを設定することで、Sunrise と IRIS の Blockchain 間に新しい IBC 接続やチャンネルを作成できます。
Go リレーヤーでの設定(非推奨)
詳細はをご覧ください。
まず、をインストールしてください。
Rust 製リレーヤー Hermes での設定(推奨)
詳細はをご覧ください。
まず、をインストールしてください。
次に、以下のコマンドを実行します:
sudo apt update && sudo apt upgrade -y
sudo apt install librust-openssl-dev build-essential git -y
cargo install ibc-relayer-cli --bin hermes --locked
hermes version
echo word1 ... word12or24 > ~/mnemonic.txt
アカウントの設定
まず、両方のチェーンで十分な資金を持つウォレットが必要です。 このチュートリアルでは、リレーしたいチェーンに既にウォレットが作成されており、それぞれのウォレットに資金が割り当てられていることを前提としています。
hermes keys add --key-name <ユーザー名> --chain <ibc-0> --mnemonic-file mnemonic.txt
hermes keys add --key-name <ユーザー名> --chain <ibc-1> --mnemonic-file mnemonic.txt
設定ファイル
hermes config auto --output $HOME/.hermes/config.toml --chain <ibc-0>:<key-ibc-0> <ibc-1>:<key-ibc-1> --chain
新しいリレーパスの追加
以下の設定は、既に IBC チャンネルが確立されているメインネットでは必要ありません。新しい接続を開始する場合のみ、以下の手順に従ってください。
まず、ibc-0
の状態を追跡するibc-1
上にクライアントを作成します。これには 07-tendermint-0 という識別子が割り当てられます:
hermes create client --host-chain <ibc-1> --reference-chain <ibc-0>
両方のチェーンにクライアントを作成した後、それらの間に接続を確立する必要があります。両方のチェーンは、最初の接続の識別子として connection-0 を割り当てます:
hermes create connection --a-chain <ibc-0> --b-chain <ibc-1>
コマンドが正常に実行されると、connection ID
が出力されるはずです。
最後に、接続が確立された後、その上に新しいチャンネルを開くことができます。両方のチェーンは、最初のチャンネルの識別子として channel-0 を割り当てます:
hermes create channel --a-chain <ibc-0> --a-connection <connection-id> --a-port transfer --b-port transfer
コマンドが正常に実行されると、両方のチェーンのチャンネル ID が出力されるはずです。
これらを.hermes/config.toml
に追加します
[chains.packet_filter]
policy = "allow"
list = [[
"transfer",
"channel-0",
]]
設定が完了したら、以下のコマンドでリレーヤーを起動できます。
デーモンの設定
再起動後に自動的に実行されるように、SystemD を設定することをお勧めします。
sudo tee /etc/systemd/system/hermes.service > /dev/null <<EOF
[Unit]
Description=Hermes Relayer Service
After=network-online.target
[Service]
User=ubuntu
ExecStart=/usr/local/bin/hermes start
Restart=on-failure
RestartSec=3
LimitNOFILE=1400000
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable hermes
sudo systemctl daemon-reload
sudo systemctl start hermes
デーモンの監視
journalctl -u hermes.service -f