IBCリレーヤー
IBCリレーヤーを設定することで、Sunriseと他のブロックチェーンとの間にIBCの新しい接続とチャネルを作成できます。
Goリレーヤーでのリレーヤー設定(非推奨)
「Goリレーヤーでのリレーヤー設定(非推奨)」セクションへのリンク詳細はこちらで確認できます:https://github.com/cosmos/relayer。
まず、Goをインストールしてください。
RustリレーヤーHermesでのリレーヤー設定(推奨)
「RustリレーヤーHermesでのリレーヤー設定(推奨)」セクションへのリンク詳細はこちらで確認できます:http://hermes.informal.systems。
まず、Rustをインストールしてください。
次に、以下のコマンドを実行します:
sudo apt update && sudo apt upgrade -ysudo apt install librust-openssl-dev build-essential git -y
cargo install ibc-relayer-cli --bin hermes --lockedhermes version
echo word1 ... word12or24 > ~/mnemonic.txtアカウントの設定
「アカウントの設定」セクションへのリンクまず、両方のチェーンで十分な資金を持つウォレットが必要です。 このチュートリアルでは、リレーしたいチェーン上にすでにウォレットが作成されており、それぞれのウォレットに資金が割り当てられていることを前提としています。
hermes keys add --key-name <user-name> --chain <ibc-0> --mnemonic-file mnemonic.txthermes keys add --key-name <user-name> --chain <ibc-1> --mnemonic-file mnemonic.txt設定ファイル
「設定ファイル」セクションへのリンクhermes config autoコマンドは、chain-registry内のチェーンの設定ファイルを自動的に生成する方法を提供します:
テストネットの場合は、各パラメータを自分で設定する必要があります。詳細については、ドキュメントを参照してください。
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",]]設定が完了したら、次のコマンドでリレーヤーを起動できます。
hermes startデーモンの設定
「デーモンの設定」セクションへのリンク再起動後に自動的に実行されるようにSystemDを設定することをお勧めします。
sudo tee /etc/systemd/system/hermes.service > /dev/null <<EOF[Unit]Description=Hermes Relayer ServiceAfter=network-online.target
[Service]User=ubuntuExecStart=/usr/local/bin/hermes startRestart=on-failureRestartSec=3LimitNOFILE=1400000
[Install]WantedBy=multi-user.targetEOF
sudo systemctl enable hermessudo systemctl daemon-reloadsudo systemctl start hermesデーモンの監視
「デーモンの監視」セクションへのリンクjournalctl -u hermes.service -f