interchaintest
interchaintest copied to clipboard
feat: Rollkit x CelstiaDA
Goal
Launch Celestia DA and a rollkit chain, connect the 2
Awesome work on this so far @Reecepbcups , it's looking good. While working on rollkit integration, we've been basing our work on the same gm-world tutorial (building a rollkit app, using the celestia dev net container etc.)
We're currently using a docker compose file for our local testing, but would love to eventually write proper tests using interchain test once this PR is merged.
Let me know if there's anything I can do to help with this one.
@chatton I currently don't have any extra bandwidth to work on this atm. Main blocker here is probably something related to docker networking iirc (using n.HostName()). When starting it up, the app is not able to connect to the da/brdige despite it starting up along side.
looking at it now I wonder if core.ip flag needs a port or if the --da.grpc.listen is incorrect. Most likely something small
Hey @Reecepbcups, as a workaround I created the celestia dev net container directly in the test in this PR https://github.com/cosmos/ibc-go/pull/6029, all the containers seem to be working and talking to each other okay, but it seems interchaintest is assuming some default ports and so is is considering the rollup chain not ready.
But the rollkit app is successfully publishing to celestia in this branch of ibc-go. The approach I'm using ATM is a "hackier" one I think since I'm just taking the exist celestia dev net container and letting all the startup scripts already in place work there.
@chatton If specific ports are required on startup, ibc.ChainConfig
has a HostPortOverride
map[int]int
which will force the internal container port to map to external expected port, rather than randomization.
ChainConfig: ibc.ChainConfig {
...
HostPortOverride: map[int]int{
26657: 26657,
1317: 1317,
9090: 9090,
},
}
This may help
Steve Misko is taking this on in a new PR with better Celestia DA support. Closing for that