interchaintest icon indicating copy to clipboard operation
interchaintest copied to clipboard

feat: Rollkit x CelstiaDA

Open Reecepbcups opened this issue 1 year ago • 4 comments

Goal

Launch Celestia DA and a rollkit chain, connect the 2

Reecepbcups avatar Jan 20 '24 04:01 Reecepbcups

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 avatar Mar 12 '24 10:03 chatton

@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

Reecepbcups avatar Mar 14 '24 15:03 Reecepbcups

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 avatar Mar 20 '24 11:03 chatton

@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

Reecepbcups avatar Mar 20 '24 19:03 Reecepbcups

Steve Misko is taking this on in a new PR with better Celestia DA support. Closing for that

Reecepbcups avatar Apr 23 '24 21:04 Reecepbcups