Feature Matrix

This section gives more details about the features and implementation status of Hermes in comparison with the cosmos-go-relayer.

Legend:

TermDescription
feature not supported
feature is supported
Chainchain related
Clclient related
Connconnection related
Chanchannel related
.._Handshake_..can execute all transactions required to finish a handshake from a single command
.._<msg>_Abuilding and sending msg from a command that scans chain state
.._<msg>_Pbuilding and sending msg from IBC event; doesn't apply to .._Init and FT_Transfer features

Feature comparison between Hermes and the Go relayer

Features \ StatusHermesCosmos GoFeature Details
Restartreplays any IBC events that happened before restart
Multiple_Pathsrelays on multiple paths concurrently
Connection Delay
Cl_Misbehaviormonitors and submits IBC client misbehavior
Cl_Refreshperiodically refresh an on-chain client to prevent expiration
Packet Delay
Chan_Unordered
Chan_Ordered
Cl_Tendermint_Createtendermint light client creation
Cl_Tendermint_Updatetendermint light client update
Cl_Tendermint_Upgradetendermint light client upgrade
Conn_Open_Handshake_A
Conn_Open_Handshake_P
Chan_Open_Handshake_A
Chan_Open_Handshake_P
Chan_Open_Handshake_Optimisticopen a channel on a non-Open connection
Chan_Close_Handshake_P
Chan_Close_Handshake_A
FT_Transfercan submit an ICS-20 fungible token transfer message
ICA_Relaycan relay ICS-27 Interchain account packets
Packet_Recv_A
Packet_Recv_P
Packet_Timeout_A
Packet_Timeout_P
Packet_TimeoutClose_A
Packet_TimeoutClose_P
Packet_Optimisticrelay packets over non-Open channels
Cl_Non_Tendermintsupports non tendermint IBC light clients
Chain_Non_Cosmossupports non cosmos-SDK chains
Mgmt_Staticprovides means for configuration prior to being started
Mgmt_Dynamicprovides means for configuration and monitoring during runtime