confio / ts-relayer

IBC Relayer in TypeScript
MIT License
110 stars 63 forks source link

error: Query failed with (18): header failed basic validation #221

Open berelton opened 2 years ago

berelton commented 2 years ago

Hello, getting the following error:

root@wasm:~# ibc-setup ics20 -v
verbose: Queried unbonding period {"seconds":1814400}
verbose: Create Tendermint client
verbose: Queried unbonding period {"seconds":1209600}
verbose: Create Tendermint client
info: Connection open init: 07-tendermint-11 => 07-tendermint-1774
verbose: Get latest commit
verbose: Get validator set for height 194110
verbose: Get header for height 194110
verbose: Get validator set for height 194104
verbose: Get header for height 194104
verbose: Update Tendermint client 07-tendermint-1774
info: Connection open try: 07-tendermint-1774 => 07-tendermint-11 (connection-9)
verbose: Get latest commit
verbose: Get validator set for height 3018512
verbose: Get header for height 3018512
verbose: Get validator set for height 3018502
verbose: Get header for height 3018502
verbose: Update Tendermint client 07-tendermint-11
error: Query failed with (18): header failed basic validation: commit signs block 8AA621F24A6B226C9ECFC153881B5E49124ACF167697AFA27225732A0A1DFC5B, header is block 2F3EC32F5CFA04A5C094A7561A73759B28B17B387D353437604A6F3AF7291002: invalid request

What can be the issue?

ethanfrey commented 2 years ago

I cannot help without more info.

Can you please tell me which two chains you are connecting. And if you can reproduce this everytime you send.

I need ~/.ibc-setup/registry.yaml and ~/.ibc-setup/app.yaml (the later please remove the mnemonic). That could give me a test case at least.

Some chains have forked the cosmos-sdk which may cause issues. This has been tested against cosmos sdk 0.42 in simapp and wasmd and cosmos sdk 0.44 in naiad

berelton commented 2 years ago

@ethanfrey thanks for the response.

app.yaml:

src: deweb
dest: osmosis
mnemonic: <few words>

registry.yaml:

version: 1

chains:
  deweb:
    chain_id: deweb-testnet-0
    prefix: deweb
    gas_price: 0.1udws
    hd_path: m/44'/118'/0'/0/0
    ics20_port: 'transfer'
    rpc:
      - https://rpc-deweb.deweb.services:443
  osmosis:
    chain_id: osmosis-1
    prefix: osmo
    gas_price: 0uosmo
    hd_path: m/44'/118'/0'/0/0
    ics20_port: 'transfer'
    rpc:
      - https://rpc-osmosis.blockapsis.com:443
ethanfrey commented 2 years ago

Thank you for the details.

I have never seen deweb before. Can you link me to the repo and version used here, so I can see what cosmos-sdk is used and maybe reproduce in a CI

berelton commented 2 years ago

@ethanfrey it is using Cosmos SDK v.0.44.3 and Tendermint v.0.34.14 https://github.com/deweb-services/deweb

ethanfrey commented 2 years ago

Thank you. I had some issues trying to relayer between Juno and Osmosis, also missing proofs ("ensure the height was not pruned")... I am not sure if https://rpc-osmosis.blockapsis.com:443 serves all the needed proofs - I think it is mainly for high volume of queries of balances and pools.

@ jackzampolin can you share the rpc endpoints your team used to set up the Juno-Osmosis channel. I want to verify we are using "relayer-friendly" endpoints before debugging more

jackzampolin commented 2 years ago

@ethanfrey they are both archive nodes https://osmosis-1.technofractal.com:443 and https://juno-1.technofractal.com:443

berelton commented 2 years ago

@ethanfrey what I can do with this issue?

ethanfrey commented 2 years ago

I have seen professional relayers have all kinds of issues with the juno osmo bridge using Hermes and go relayer

This project is maintained but mainly focused on testnet / ci testing. Not supported for production use.

I try to fix any clear issue that is solved by the other relayers, but this seems to be some issue with the chains.

I would switch to another relayer and as some professional relayers for help.

angrymouse commented 2 years ago

Any updates? I have similar issue with juno and osmosis

ethanfrey commented 2 years ago

I think this only would make sense one I run osmosis and Juno nodes in the CI, and not try to debug on production.