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 buildThis will lead to the creation of a babylon-relayer executable under the build/ directory.
To build the chain and install a babylon executable:
make installmake testThe 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/chainsTo add paths to config.yaml:
babylon-relayer paths add-dir examples/pathsTo restore secret keys from mnenomics:
babylon-relayer keys restore $CHAIN $KEY_NAME $MNEMONICSTo create an IBC light client for a chain in Babylon:
babylon-relayer tx client babylon $CHAIN $CHAINTo start relaying headers of a chain to Babylon:
babylon-relayer keep-update-client babylon $CHAIN $CHAIN --interval $INTERVALTo start relaying headers of all chains in the config to Babylon:
babylon-relayer --home /home/ubuntu/data/relayer keep-update-clients --interval $INTERVAL