Skip to content

Latest commit

 

History

History
71 lines (51 loc) · 1.7 KB

README.md

File metadata and controls

71 lines (51 loc) · 1.7 KB

babylon-relayer

Babylon relayer is an extended version of the IBC relayer specialised for timestamping Cosmos SDK chains.

Development requirements

  • Go 1.20

Building

To build the chain, simply:

make build

This will lead to the creation of a babylon-relayer executable under the build/ directory.

Installing

To build the chain and install a babylon executable:

make install

Testing

make test

Configuration

The configuration of Babylon relayer is exactly the same as the official IBC relayer. Please read the IBC relayer's documentation. This repo also provides some example configurations under the example/ directory.

Note that some chains (e.g., Injective and EVMOS) impose extra codec formats for its RPC calls. To support such chains, one needs to add an "extra-codecs" entry to its config json file. An example can be found in examples/chains/injective.json.

Usage

To add chains to config.yaml:

babylon-relayer chains add-dir examples/chains

To add paths to config.yaml:

babylon-relayer paths add-dir examples/paths

To restore secret keys from mnenomics:

babylon-relayer keys restore $CHAIN $KEY_NAME $MNEMONICS

To create an IBC light client for a chain in Babylon:

babylon-relayer tx client babylon $CHAIN $CHAIN

To start relaying headers of a chain to Babylon:

babylon-relayer keep-update-client babylon $CHAIN $CHAIN --interval $INTERVAL

To start relaying headers of all chains in the config to Babylon:

babylon-relayer --home /home/ubuntu/data/relayer keep-update-clients --interval $INTERVAL