cosmos / relayer

An IBC relayer for ibc-go
Apache License 2.0
390 stars 1.71k forks source link

Relayer is not able to sync with celestia #1383

Closed ststkent closed 9 months ago

ststkent commented 10 months ago

This seems to be blocked on supporting the equivalent of compat_mode=0.34 in hermes https://hermes.informal.systems/documentation/configuration/comet-compat-mode.html

2024-01-21T23:21:34.703086Z info    Chain is not yet in sync    {"chain_name": "host", "chain_id": "celestia", "latest_queried_block": 608302, "latest_height": 608382}
jtieri commented 10 months ago

hey @ststkent! I tried running the relayer against the current Osmosis testnet and Celestia's Arabica devnet and noticed that using the debug flag, -d, provided a bit more context on the error.

Checking out the branch, justin/comet-client, and compiling the relayer then attempting to run rly tx link -d yielded this log:

2024-01-24T20:12:37.573584Z     debug   Error querying block data       {"chain_name": "celestia", "chain_id": "arabica-11", "height": 169505, "error": "error in json rpc client, with http response metadata: (Status: 200 OK, Protocol HTTP/1.1). RPC error -32603 - Internal error: node is not persisting abci responses"}

It looks like this error comes from Celestia when we attempt to make the BlockResults RPC call.

https://github.com/celestiaorg/celestia-core/blob/6596a30dfaf1ec6e0afa2e1bb0ca9231036e755a/state/store.go#L381-L384

https://github.com/celestiaorg/celestia-core/blob/6596a30dfaf1ec6e0afa2e1bb0ca9231036e755a/rpc/core/blocks.go#L433

Based on the comments in their node software, If the node has DiscardABCIResponses set to true, ErrABCIResponsesNotPersisted is persisted., i would imagine this is a configuration option that can be adjusted on the underlying node. I don't currently have access to a Celestia node on their devnet so cannot 100% confirm but it does look like the public node i'm using is returning this same error https://rpc.celestia-arabica-11.com/block_results?height=169576

jtieri commented 9 months ago

We have spun up a Celestia mainnet node and confirmed that the relayer works as intended when the node is configured with discard_abci_responses = false

ststkent commented 9 months ago

@jtieri Thank you so for much looking in to this! We'll try this on our end