Listen Mode
Hermes can be started in listen
mode to display the events emitted by a given chain. NewBlock
and Tx
IBC events are shown.
DESCRIPTION:
Listen to and display IBC events emitted by a chain
USAGE:
hermes listen [OPTIONS] --chain <CHAIN_ID>
OPTIONS:
--events <EVENT>... Add an event type to listen for, can be repeated. Listen for all
events by default (available: Tx, NewBlock)
-h, --help Print help information
REQUIRED:
--chain <CHAIN_ID> Identifier of the chain to listen for events from
Example
Start Hermes in listen mode for all ibc-0
events and observe the output:
hermes listen --chain ibc-0
EventBatch {
chain_id: ChainId {
id: "ibc-0",
version: 0,
},
height: block::Height(10914),
events: [
NewBlock(
NewBlock {
height: block::Height(10914),
},
),
],
}
EventBatch {
chain_id: ChainId {
id: "ibc-0",
version: 0,
},
height: block::Height(10915),
events: [
OpenInitConnection(
OpenInit(
Attributes {
height: block::Height(10915),
connection_id: Some(
ConnectionId(
"connection-3",
),
),
client_id: ClientId(
"07-tendermint-3",
),
counterparty_connection_id: None,
counterparty_client_id: ClientId(
"07-tendermint-5",
),
},
),
),
],
...
EventBatch {
chain_id: ChainId {
id: "ibc-0",
version: 0,
},
height: block::Height(10919),
events: [
UpdateClient(
UpdateClient(
Attributes {
height: block::Height(10919),
client_id: ClientId(
"07-tendermint-3",
),
client_type: Tendermint,
consensus_height: Height {
revision: 1,
height: 10907,
},
},
),
),
],
}
...
EventBatch {
chain_id: ChainId {
id: "ibc-0",
version: 0,
},
height: block::Height(10924),
events: [
UpdateClient(
UpdateClient(
Attributes {
height: block::Height(10924),
client_id: ClientId(
"07-tendermint-3",
),
client_type: Tendermint,
consensus_height: Height {
revision: 1,
height: 10912,
},
},
),
),
OpenAckConnection(
OpenAck(
Attributes {
height: block::Height(10924),
connection_id: Some(
ConnectionId(
"connection-3",
),
),
client_id: ClientId(
"07-tendermint-3",
),
counterparty_connection_id: Some(
ConnectionId(
"connection-5",
),
),
counterparty_client_id: ClientId(
"07-tendermint-5",
),
},
),
),
],
}
Filter events
The listen
command accepts a --events
flag to specify which event types to listen for.
At the moment, two event types are available:
NewBlock
Tx
The --events
flag can be repeated to specify more than one event type.
- To listen for only
NewBlock
events onibc-0
, invokehermes listen --events NewBlock --chain ibc-0
- To listen for only
Tx
events onibc-0
, invokehermes listen --events Tx --chain ibc-0
- To listen for both
NewBlock
andTx
events onibc-0
, invokehermes listen --events NewBlock Tx --chain ibc-0
If the --events
flag is omitted, Hermes will subscribe to all event types.