Install Gaiad Manager

Gaiad manager (gm) is a command-line tool (CLI) that helps manage local gaiad networks.

Follow the instructions


  • Bourne shell (sh)
  • sconfig and stoml installed in your PATH (put them in /usr/local/bin)
  • sed, tr
  • For shell-completion Bourne Again Shell (bash) for the local user

How to run

  1. Install the dependencies.

On MacOS:

# You might need sudo permissions and create the `usr/local/bin` directory

curl -Lo /usr/local/bin/sconfig
curl -Lo /usr/local/bin/stoml
chmod 755 /usr/local/bin/sconfig
chmod 755 /usr/local/bin/stoml

On Linux:

curl -Lo /usr/local/bin/sconfig
curl -Lo /usr/local/bin/stoml
chmod 755 /usr/local/bin/sconfig
chmod 755 /usr/local/bin/stoml
  1. Install gm
git clone
ibc-rs/scripts/gm/bin/gm install

Alternatively, you can create the folder $HOME/.gm/bin and copy the files from scripts/gm/bin in there.

  1. Activate gm
  • Add source $HOME/.gm/bin/shell-support to a file that executes when a new terminal window comes up ($HOME/.bash_profile or $HOME/.bashrc or $HOME/.zprofile)
  • (Optional) Enable auto-completion On MacOS:
# Note: zsh is the default shell on MacOS, so no need to run this unless you explicitly use bash
brew install bash-completion

On Linux:

apt install bash-completion || yum install bash-completion
  • Restart your terminal

Note: The shell-support script allows bash-completion as well as creating a gm alias, so you don't need to add more entries to your PATH environment variable. If you don't want to use this, you can always just add $HOME/.gm/bin to your path.

The configuration: gm.toml

Where: $HOME/.gm/gm.toml.

Description: This file contains all the high-level node configuration that gm is aware of. Note that all entries under [global] are also valid entries under any [node] header, and can be used to override the global entries for specific nodes/validators.

Entries: All entries are defined and documented in the scripts/gm/gm.toml example configuration file.

Copy and paste below to $HOME/.gm/gm.toml

The following configuration you need to specify 2 gaiad chains. hermes will know about these chains.

  add_to_hermes = false
  auto_maintain_config = true
  extra_wallets = 2
  gaiad_binary = "~/go/bin/gaiad"
  hdpath = ""
  home_dir = "$HOME/.gm"
  ports_start_at = 27000
  validator_mnemonic = ""
  wallet_mnemonic = ""

    binary = "./hermes" #change this path according to your setup
    config = "$HOME/.hermes/config.toml"
    log_level = "info"
    telemetry_enabled = true
    telemetry_host = ""
    telemetry_port = 3001

  ports_start_at = 27010

  ports_start_at = 27020

  add_to_hermes = true
  network = "ibc-0"
  ports_start_at = 27030

  add_to_hermes = true
  network = "ibc-1"
  ports_start_at = 27040

In the next section we will configure hermes and start local chains using gm

NOTE: Go to this page for more detils about Gaiad Manager