diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index dbfac01dc..75f46195e 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -53,6 +53,17 @@ it will be helpful to provide the output from `http://localhost:7597/debug/pprof --- +**Error querying blockdata** + +The relayer looks back in time at historical transactions and needs to have an index of them. + +Specifically check `~/./config/config.toml` has the following fields set: +```toml +indexer = "kv" +index_all_tags = true +``` +--- + **Error building or broadcasting transaction** When preparing a transaction for relaying, the amount of gas that the transaction will consume is unknown. To compute how much gas the transaction will need, the transaction is prepared with 0 gas and delivered as a `/cosmos.tx.v1beta1.Service/Simulate` query to the RPC endpoint. Recently chains have been creating AnteHandlers in which 0 gas triggers an error case: diff --git a/relayer/chains/cosmos/cosmos_chain_processor.go b/relayer/chains/cosmos/cosmos_chain_processor.go index 1feb92124..e5de5f2bc 100644 --- a/relayer/chains/cosmos/cosmos_chain_processor.go +++ b/relayer/chains/cosmos/cosmos_chain_processor.go @@ -381,7 +381,11 @@ func (ccp *CosmosChainProcessor) queryCycle(ctx context.Context, persistence *qu }) if err := eg.Wait(); err != nil { - ccp.log.Warn("Error querying block data", zap.Error(err)) + ccp.log.Warn( + "Could not query block data. Consider checking if your RPC node is online, and that transaction indexing is enabled.", + zap.Int64("height", i), + ) + ccp.log.Debug("Error querying block data", zap.Error(err)) persistence.retriesAtLatestQueriedBlock++ if persistence.retriesAtLatestQueriedBlock >= blockMaxRetries {