Relayer Operator Guide
Relayer
In IBC, blockchains do not directly pass messages to each other over the network. This is where relayer comes in. A relayer process monitors for updates on opens paths between sets of IBC enabled chains. The relayer submits these updates in the form of specific message types to the counterparty chain. Clients are then used to track and verify the consensus state. In addition to relaying packets, this relayer can open paths across chains, thus creating clients, connections and channels. Additional information on how IBC works can be found here.
relayer comes in. A relayer process monitors for updates on opens paths between sets of IBC enabled chains. The relayer submits these updates in the form of specific message types to the counterparty chain. Clients are then used to track and verify the consensus state. In addition to relaying packets, this relayer can open paths across chains, thus creating clients, connections and channels. Additional information on how IBC works can be found here.Table Of Contents
Basic Usage - Relaying Packets Across Chains
$ git clone https://github.com/ConsiderItDone/relayer.git $ cd relayer && git checkout main $ make install$ rly config init$ rly config init --memo "My custom memo"$ rly chains add cosmoshub slide$ rly chains add --url https://raw.githubusercontent.com/cosmos/relayer/main/docs/example-configs/cosmoshub-4.json cosmoshubglobal: api-listen-addr: :5183 timeout: 10s memo: "" light-cache-size: 20 log-level: "" ics20-memo-limit: 0 max-receiver-size: 0 chains: slide: type: avalanche value: rpc-addr: http://127.0.0.1:9650/ext/bc/2qdf414xEdWsmjSK1Q59Gautq6fERXbXm4jJnJkZ6MfFBB6PaH/rpc base-rpc-addr: http://127.0.0.1:9650 subnet-id: 2c1CbR7FGYdeFPB4WaeWphHZrChLH7TQ92FRW6U4mCWTnaxVsB blockchain-id: 2qdf414xEdWsmjSK1Q59Gautq6fERXbXm4jJnJkZ6MfFBB6PaH chain-id: "slide" network-id: 1337 timeout: 10s contract-address: 0x0300000000000000000000000000000000000002 transferrer-address: 0x17aB05351fC94a1a67Bf3f56DdbB941aE6c63E25 key-directory: ~.relayer/keys/avalanche-slide key: testkey keyring-backend: test extra-codecs: [] min-loop-duration: 0s ibcgo: type: cosmos value: key-directory: ~/.relayer/keys/ibcgo key: testkey chain-id: ibcgo rpc-addr: http://localhost:26657 account-prefix: cosmos keyring-backend: test dynamic-gas-price: false gas-adjustment: 1.5 gas-prices: 0.025stake min-gas-amount: 0 max-gas-amount: 0 debug: true timeout: 10s block-timeout: "" output-format: json sign-mode: direct extra-codecs: [] coin-type: null signing-algorithm: "" broadcast-mode: batch min-loop-duration: 0s extension-options: [] feegrants: null paths: demo: src: chain-id: slide dst: chain-id: ibcgo src-channel-filter: rule: "" channel-list: [] demo2: src: chain-id: ibcgo dst: chain-id: slide src-channel-filter: rule: "" channel-list: []$ rly keys add ibcgo [key-name] $ rly keys add slide [key-name]$ rly keys restore ibcgo [key-name] "mnemonic words here" $ rly keys restore slide [key-name] "mnemonic words here"$ rly keys use ibcgo [key-name] $ rly keys use slide [key-name]$ rly q balance ibcgo $ rly q balance slide$ rly paths fetchhubslide: src: chain-id: ibcgo client-id: 07-tendermint-259 connection-id: connection-257 dst: chain-id: slide client-id: 14-avalanche-1 connection-id: connection-1 src-channel-filter: rule: allowlist channel-list: [channel-141]$ rly paths list $ rly start [path] # Optionally you can omit the `path` argument to start all configured paths $ rly start
Last updated