Run an IBC Relayer

Running an IBC Relayer for BitNet

Inter-Blockchain Communication (IBC) enables BitNet to securely send tokens and data to other chains in the Cosmos ecosystem. Relayers are off-chain agents that listen for packets on one chain and transmit them to the other.

This guide walks you through setting up an IBC relayer between BitNet and another IBC-enabled chain using Hermes.


What is an IBC Relayer?

An IBC relayer:

  • Connects two blockchain networks.

  • Listens for IBC packets on one chain.

  • Relays those packets to the destination chain.

  • Requires full nodes for both chains and funds for gas fees.


Minimum Requirements

  • 4+ physical CPU cores (8 threads)

  • 32 GB RAM

  • 1TB+ NVMe SSD

  • High open file limits (adjust ulimit -n)


Prerequisites

  • A running BitNet full node (see earlier guides).

  • A full node for the counterparty chain (e.g., Cosmos Hub).

  • Port configuration for both nodes to avoid conflicts.

  • Funds in both chains for relayer fees.


Step 1: Configure Nodes

BitNet Node (~/.bitnetd/config/):

  • app.toml:

  • config.toml:

Counterparty Node (e.g., Cosmos Hub):

  • Offset ports to avoid collision:


Step 2: Install Hermes

Install Rust & dependencies:

Clone and build Hermes:

Create Hermes config folders:


Step 3: Configure Hermes

Edit ~/.hermes/config.toml and set up both chains:


Step 4: Add Relayer Keys

Use your mnemonic for both chains:

Ensure both accounts have enough tokens to cover transaction fees.


Step 5: Validate & Start

You’ll see logs showing relayed packets.


Step 6: Maintenance & Monitoring

Query unreceived packets:

Clear stuck packets:

Last updated