Babylon relayer is an extended version of the IBC relayer specialised for timestamping Cosmos SDK chains.
- Go 1.20
To build the chain, simply:
make build
This will lead to the creation of a babylon-relayer
executable under the build/
directory.
To build the chain and install a babylon executable:
make install
make test
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
.
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