Hermes
Hermes - Rust Relayer (Informal Systems)
Official documentation: https://hermes.informal.systems/documentation
1. Install Rust Dependencies
You will need rust, build-essential and git installed to follow these instructions:
# rust:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# build-essential:
sudo apt-get install build-essential -y
# git:
sudo apt install git-all -y2. Building Hermes
For preparation, we will create a dedicated user to run Hermes. Following command will also create home directory for the new user.
sudo useradd -m -d /ibc/hermes hermesWe will next switch to the hermes user and create a directory where we will compile the relayer software.Open the generated ~/.relayer/config/config.yaml file,
Now is time to clone the source repository and build it. Note that we need to checkout the latest release.
Next we will check that the newly built hermes version is the correct one:
3. Configuring Hermes
Choose your favourite editor and edit the following configuration template to mach your setup. There are features like telemetry and rest API that you can enable, but they are not necessary, so they are left out from this tutorial.
Open config
Edit the config
Want to relay for all/more existing connections on secret? -- check the channel database
You can validate the configuration with following:
4. Setting Up Wallets
We will need to create a new wallet, import it, and ultimately fund it. Note the unique derivation paths for secret.
If you want to make sure the keys got imported, you can check them with following command:
5. Testing the setup
Let's do a quick test to see things work properly.
Validate your ~/.hermes/config.toml file by running:
Perform a health check:
You should see a similar output as the one below:
6. Run hermes
Once we see things load up correctly and there are no fatal errors, we can break out of hermes with ctrl-c.
Configuring systemd
Now we will setup hermes to be run by systemd, and to start automatically on reboots.
Create the following configuration to /etc/systemd/system/hermes.service
Then we will start hermes with the newly created service and enable it. Note that this step is done from your normal user account that has sudo privileges, so no longer as hermes.
Last updated
Was this helpful?