informalsystems / hermes

IBC Relayer in Rust
https://hermes.informal.systems
Apache License 2.0
439 stars 323 forks source link

missing chain config for 'osmosis-1' in configuration file #3734

Closed 99Kies closed 8 months ago

99Kies commented 9 months ago

I created a nolus relayer(vota<==>nolus), why am I prompted for osmosis-1?

2023-12-05T20:21:15.284942Z ERROR ThreadId(64) worker.batch{chain=pirin-1}:supervisor.handle_batch{chain=pirin-1}: error during batch processing: supervisor was not able to spawn chain runtime: missing chain config for 'osmosis-1' in configuration file
2023-12-05T20:22:00.535626Z ERROR ThreadId(64) worker.batch{chain=pirin-1}:supervisor.handle_batch{chain=pirin-1}: error during batch processing: supervisor was not able to spawn chain runtime: missing chain config for 'osmosis-1' in configuration file
2023-12-05T20:36:39.576484Z ERROR ThreadId(64) worker.batch{chain=pirin-1}:supervisor.handle_batch{chain=pirin-1}: error during batch processing: supervisor was not able to spawn chain runtime: missing chain config for 'osmosis-1' in configuration file
2023-12-05T22:24:07.258072Z ERROR ThreadId(64) worker.batch{chain=pirin-1}:supervisor.handle_batch{chain=pirin-1}: error during batch processing: supervisor was not able to spawn chain runtime: missing chain config for 'osmosis-1' in configuration file
2023-12-05T22:33:29.733115Z ERROR ThreadId(62) event_source.websocket{chain=pirin-1}: failed to collect events: WebSocket driver failed: reading from WebSocket connection timed out after 30 seconds
2023-12-05T22:33:41.001708Z  INFO ThreadId(62) event_source.websocket{chain=pirin-1}:event_source.reconnect{chain=pirin-1}: successfully reconnected to WebSocket endpoint wss://pirin-cl.nolus.network:26657/websocket
2023-12-05T22:58:50.838817Z ERROR ThreadId(64) worker.batch{chain=pirin-1}:supervisor.handle_batch{chain=pirin-1}: error during batch processing: supervisor was not able to spawn chain runtime: missing chain config for 'osmosis-1' in configuration file
2023-12-05T23:23:11.668928Z ERROR ThreadId(64) worker.batch{chain=pirin-1}:supervisor.handle_batch{chain=pirin-1}: error during batch processing: supervisor was not able to spawn chain runtime: missing chain config for 'osmosis-1' in configuration file
2023-12-05T23:30:22.029406Z ERROR ThreadId(64) worker.batch{chain=pirin-1}:supervisor.handle_batch{chain=pirin-1}: error during batch processing: supervisor was not able to spawn chain runtime: missing chain config for 'osmosis-1' in configuration file
romac commented 8 months ago

This can happen if Hermes picks up packets destined for Osmosis emitted by the Nolus chain. By default Hermes will try to relay all packets emitted by the chains configured, and if it cannot find the destination chain in the config, it outputs the error above.

To solve this, you need to configure a packet filter to tell Hermes to only relay between channels on vota and nolus, discarding the packets destined for Osmosis.

Feel free to re-open if this does not work, or comment here if you need more guidance.

99Kies commented 8 months ago

I actually set the packet_filter's channel information previously. @romac

[global]
log_level = "info"

[mode.clients]
enabled = true
refresh = true
misbehaviour = true

[mode.connections]
enabled = false

[mode.channels]
enabled = false

[mode.packets]
enabled = true
clear_interval = 100
clear_on_start = true
tx_confirmation = false
auto_register_counterparty_payee = false

[rest]
enabled = true
host = "0.0.0.0"
port = 3000

[telemetry]
enabled = true
host = "0.0.0.0"
port = 3001

[telemetry.buckets.latency_submitted]
start = 500
end = 20000
buckets = 10

[telemetry.buckets.latency_confirmed]
start = 1000
end = 30000
buckets = 10

[[chains]]
id = "vota-ash"
type = "CosmosSdk"
rpc_addr = "https://vota-rpc.dorafactory.org"
grpc_addr = "https://vota-grpc.dorafactory.org"
rpc_timeout = "10s"
trusted_node = false
account_prefix = "cosmos"
key_name = "keyvotanolus"
key_store_type = "Test"
store_prefix = "ibc"
default_gas = 2000000
max_gas = 9000000
gas_multiplier = 1.5
max_msg_num = 30
max_tx_size = 180000
max_grpc_decoding_size = 33554432
clock_drift = "5s"
max_block_time = "30s"
ccv_consumer_chain = false
memo_prefix = ""
sequential_batch_tx = false

[chains.event_source]
mode = "push"
url = "wss://vota-rpc.dorafactory.org/websocket"
batch_delay = "500ms"

[chains.trust_threshold]
numerator = "1"
denominator = "3"

[chains.gas_price]
price = 100000000000
denom = "peaka"

[chains.packet_filter]
policy = "allow"
list = [[
    "transfer",
    "channel-3",
]]

[chains.packet_filter.min_fees]

[chains.address_type]
derivation = "cosmos"

[[chains]]
id = "pirin-1"
type = "CosmosSdk"
rpc_addr = "https://pirin-cl.nolus.network:26657"
grpc_addr = "https://pirin-cl.nolus.network:9090"
rpc_timeout = "10s"
trusted_node = false
account_prefix = "nolus"
key_name = "keynolus"
key_store_type = "Test"
store_prefix = "ibc"
default_gas = 100000
max_gas = 400000
gas_multiplier = 1.1
max_msg_num = 30
max_tx_size = 180000
max_grpc_decoding_size = 33554432
clock_drift = "5s"
max_block_time = "30s"
ccv_consumer_chain = false
memo_prefix = ""
sequential_batch_tx = false

[chains.event_source]
mode = "push"
url = "wss://pirin-cl.nolus.network:26657/websocket"
batch_delay = "500ms"

[chains.trust_threshold]
numerator = "1"
denominator = "3"

[chains.gas_price]
price = 0.025
denom = "unls"

[chains.packet_filter]
policy = "allow"
list = [[
    "transfer",
    "channel-4092",
]]

[chains.packet_filter.min_fees]

[chains.address_type]
derivation = "cosmos"