Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update HERMES.md #3

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 24 additions & 10 deletions HERMES.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Guide to Running Hermes Relayer
# Guide to Run Hermes Relayer

---
## What is Hermes?
Expand All @@ -8,8 +8,7 @@ Hermes is an IBC (Inter-Blockchain Communication) relayer implemented in Rust, u
## Prerequisites
Before running Hermes, ensure you have the following:
- Two IBC-enabled blockchain nodes running and accessible.
- Network access to both blockchain nodes (rpc, grpc avalable)

- Native tokens and network access to both blockchain nodes (rpc, grpc available).
---
## Installation

Expand All @@ -35,7 +34,7 @@ if [ -z "$PATH_INCLUDES_GO" ]; then
fi
```

Check hermes is executable and running without issues
Check hermes is executable and running without issues.
```bash
hermes version
# 2024-03-24T17:39:37.086297Z INFO ThreadId(01) running Hermes v1.8.2+06dfbaf
Expand Down Expand Up @@ -85,8 +84,8 @@ EOF
Add networks you would like to relay in the end. Use `vim` or `nano` or any else editor to do this.
We will use working in testnet Elys<>Juno as example.
> Pay attention to these parameters:
> - **memo_prefix** - should be your own, could be random name
> - **key_name** - some meaningful name, will be set during restore keys
> - **memo_prefix** - should be your own, could be random names
> - **key_name** - some meaningful names, will be set during restore keys
> - **rpc_addr, grpc_addr, event_source.url** - working and accessible endpoints to your node.
> - information regarding channel, if you would like to use relay another path could be got here: [paths](https://docs.google.com/spreadsheets/u/3/d/1CuDdV2Rf-ph0HQ5ViUyNY_Z-ix-Rarcd1i4PJKhCuLw/htmlview)
```bash
Expand Down Expand Up @@ -164,9 +163,9 @@ list = [

---
## Adding Keys
You need to add keys for both chains in Hermes:
You need to add keys for both chains in Hermes, do not use wallets for anything else but relaying to avoid running into account sequence errors. Make sure wallets in both chains are funded and mnemonics are backed up.

>Before execute next step you have created wallets in both chains those are funded and mnemonics are backed up.
>Execute the following:

```bash
ELYS_WALLET_MNEMONIC="24 word phrase"
Expand All @@ -177,10 +176,25 @@ echo $JUNO_WALLET_MNEMONIC >> $HOME/.hermes/juno-relayer.txt
hermes keys add --key-name elys-relayer --chain elystestnet-1 --mnemonic-file HOME/.hermes/elys-relayer.txt
hermes keys add --key-name juno-relayer --chain uni-6 --mnemonic-file $HOME/.hermes/juno-relayer.txt
```
## Verify configuration files
After editing config.toml and adding wallet keys, it’s time to test the configurations and ensure the system is healthy. Run the following:

```bash
hermes health-check
hermes config validate
```

You should see similar output:

```bash
SUCCESS performed health check for all chains in the config
SUCCESS "configuration is valid"
```

## Starting the Relayer
With the configuration file in place and keys added, you can start the relayer
Added service file first.

Create Hermes service file
```bash
sudo tee /etc/systemd/system/hermesd.service > /dev/null << EOF
[Unit]
Expand Down Expand Up @@ -242,4 +256,4 @@ sudo systemctl restart hermesd.service
----
## Conclusion
This guide provides a basic overview of setting up and running the Hermes IBC relayer. For more advanced configurations and operations, refer to the official Hermes documentation.
Ensure you replace placeholder values with actual data from your blockchain nodes and configurations. This guide is a starting point, adjust configurations and commands as necessary for your specific setup and requirements.
Ensure you replace placeholder values with actual data from your blockchain nodes and configurations. This guide is a starting point, adjust configurations and commands as necessary for your specific setup and requirements.