- 8-core (4 physical core), x86_64 architecture processor
- 32 GB RAM
- 1 TB+ nVME drives
- Tested in Ubuntu Server 22.04
In this guide, we will create a channel between Lava and Osmosis with Hermes and prepare IBC relayer.
Firstly, we install the full node of both networks, Lava mainnet and Axelar-dojo-1, on our server and match the network.
Lava(channel-0) <> Axelar(channel-)
Lava Daemon Settings
First, set grpc server
on port 9090
in the app.toml
file from the $HOME/.lava/config/app.toml
directory:
nano $HOME/.lava/config/app.toml
[grpc]
# Enable defines if the gRPC server should be enabled.
enable = true
# Address defines the gRPC server address to bind to.
address = "0.0.0.0:9090"
Then, set the pprof_laddr
to port 6060
, rpc laddr
to port 26657
, and prp laddr
to 26656
in the config.toml
file from the $HOME/.lava/config
directory:
nano $HOME/.lava/config/config.toml
# pprof listen address (https://golang.org/pkg/net/http/pprof)
pprof_laddr = "localhost:6060"
[rpc]
# TCP or UNIX socket address for the RPC server to listen on
laddr = "tcp://127.0.0.1:26657"
[p2p]
# Address to listen for incoming connections
laddr = "tcp://0.0.0.0:26656"
Axelar Daemon Settings
First, set grpc server
to port 9092
in the app.toml
file from the $HOME/.axelar/config
directory:
nano $HOME/.axelar/config/app.toml
[grpc]
# Enable defines if the gRPC server should be enabled.
enable = true
# Address defines the gRPC server address to bind to.
address = "0.0.0.0:9092"
Then, set the pprof_laddr
to port 6062
, rpc laddr
to port 36757
, and prp laddr
to 36756
in the config.toml
file from the $HOME/.
directory:osmosisd
/config
nano $HOME/.axelar/config/config.toml
# pprof listen address (https://golang.org/pkg/net/http/pprof)
pprof_laddr = "localhost:6062"
[rpc]
# TCP or UNIX socket address for the RPC server to listen on
laddr = "tcp://127.0.0.1:36757"
[p2p]
# Address to listen for incoming connections
laddr = "tcp://0.0.0.0:36756"
Make the updates and install the necessary packages.
sudo apt update && sudo apt upgrade
- Install Rust
- Install Hermes
Make the hermes directory
and keys
and create config.toml
and save this config
mkdir -p $HOME/.hermes
mkdir -p $HOME/.hermes/keys
cd .hermes
nano config.toml
From here you can access the Hermes configuration settings and make settings according to the networks you will use.
Now, let’s import our wallets for both lava and cosmos. To run IBC relayer, our wallets must have coins from both networks.
# Create mnemonic file for MNEMONIC_A and CHAIN_ID_A
MNEMONIC_A='Private keys'
CHAIN_ID_A='lava-mainnet-1'
sudo tee $HOME/.hermes/${CHAIN_ID_A}.mnemonic > /dev/null <<EOF
${MNEMONIC_A}
EOF
# Create mnemonic file for MNEMONIC_B and CHAIN_ID_B
MNEMONIC_B='Private Keys'
CHAIN_ID_B='axelar-dojo-1'
sudo tee $HOME/.hermes/${CHAIN_ID_B}.mnemonic > /dev/null <<EOF
${MNEMONIC_B}
EOF
# Add keys to Hermes using mnemonic files
hermes keys add --chain ${CHAIN_ID_A} --mnemonic-file $HOME/.hermes/${CHAIN_ID_A}.mnemonic
hermes keys add --chain ${CHAIN_ID_B} --mnemonic-file $HOME/.hermes/${CHAIN_ID_B}.mnemonic
hermes config validate
Now let’s check if Hermes is working correctly. If you get an output like below. The process is complete.
INFO ThreadId(01) using default configuration from '/root/.hermes/config.toml'
INFO ThreadId(01) running Hermes v1.10.0
SUCCESS "configuration is valid"
Let’s open the screen to start Hermes.
screen -S hermes
hermes start
Let’s exit the screen we opened with CTRL A + D and perform the first transfer operation.
hermes tx ft-transfer \
--dst-chain axelar-dojo-1 \
--src-chain lava-mainnet-1 \
--src-port transfer \
--src-channel channel-0 \
--amount 10000 \
--denom ulava \
--receiver axelar address \
--timeout-height-offset 1000
You successfully received the Txhash. It means that you have successfully completed all steps.