babylon-relayer
Babylon relayer is an extended version of the IBC relayer specialised for timestamping Cosmos SDK chains.
Requirements
Development requirements
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