cosmos / ibc-go

Inter-Blockchain Communication Protocol (IBC) implementation in Golang.
https://ibc.cosmos.network/
MIT License
544 stars 576 forks source link

E2E: Successful IBC transfer with multiple hops #1968

Open colin-axner opened 2 years ago

colin-axner commented 2 years ago

Summary

We should add a e2e test for sending a IBC token through multiple chains and then unwinding the token to the original sender


For Admin Use

seantking commented 2 years ago

Tested manually with different version of ibc-go.

Example setup:

Run multiple chains using GM: https://github.com/informalsystems/ibc-rs/tree/master/scripts/gm

[global] 
add_to_hermes=true
home_dir=""

[global.hermes]
binary="/path/to/.hermes/bin/hermes"

[chain1]
gaiad_binary="/path/to/.gm/binarys/simd-v5"
ports_start_at=27000

[chain2]
gaiad_binary="/path/to/.gm/binarys/simd-v4"
ports_start_at=27010

[chain3]
gaiad_binary="/path/to/.gm/binarys/simd-v2"
ports_start_at=27020

[chain4]
gaiad_binary="/path/to/.gm/binarys/simd-v3"
ports_start_at=27030
gm start
gm hermes config
gm hermes keys
gm hermes cc 
hermes start

Example command

./simd-v5 ibc-transfer transfer transfer <channel> <receiver> <token> --chain-id chain1 --from validator --keyring-backend test --home ./chain1 --node tcp://localhost:27000