There are a number of simple commands that perform minimal validation, build and send IBC transactions.
tx command provides the following sub-commands:
|Initialize a connection (ConnectionOpenInit)
|Relay the connection attempt (ConnectionOpenTry)
|Relay acknowledgment of a connection attempt (ConnectionOpenAck)
|Confirm opening of a connection (ConnectionOpenConfirm)
|Initialize a channel (ChannelOpenInit)
|Relay the channel attempt (ChannelOpenTry)
|Relay acknowledgment of a channel attempt (ChannelOpenAck)
|Confirm opening of a channel (ChannelOpenConfirm)
|Initiate the closing of a channel (ChannelCloseInit)
|Confirm the closing of a channel (ChannelCloseConfirm)
|Send a fungible token transfer test transaction (ICS20 MsgTransfer)
|Relay receive or timeout packets
|Relay acknowledgment packets
|Send an IBC upgrade plan
The main purpose of these commands is to support development and testing, and continuous integration. These CLIs take quite a few parameters, and they are explained in the individual subsections.
At a high level, most commands follow this template:
hermes tx <IBC-MESSAGE> --dst-chain-id <CHAIN-ID> --src-chain-id <CHAIN-id> --dst-obj-id <OBJ-ID> --src-obj-id <SRC-OBJ-ID>
In the command template above:
ibc-message- identifies the "main" IBC message that is being sent, e.g.
chan-open-init, etc. To ensure successful processing on the receiving chain, the majority of these commands build and send two messages: one
UpdateClientmessage followed by the actual IBC message. These two messages are included in a single transaction. This is done for all IBC messages that include proofs collected from the source chain.
The messages that do not require proofs are:
dst-chain-id- is the identifier of the chain where the transaction will be sent.
src-chain-id- is the identifier of the chain that is queried for the data that is included in the transaction, e.g. connection data, client proofs, etc. To ensure correct on-chain state, the relayer also queries the destination chain, however it does not include this information in the Tx to the destination chain.
dst-obj-id- the identifier of an object on destination chain required by the message, e.g. the
client-idassociated with the connection on destination chain in connection messages. Or the
src-obj-id- the identifier of an object on the source chain, required by the message, e.d. the
client-idof the connection on source chain.
More details about the
txcommands can be found in the following sections:
Create and send IBC transactions
hermes tx <SUBCOMMAND>
-h, --help Print help information
chan-close-confirm Confirm the closing of a channel (ChannelCloseConfirm)
chan-close-init Initiate the closing of a channel (ChannelCloseInit)
chan-open-ack Relay acknowledgment of a channel attempt (ChannelOpenAck)
chan-open-confirm Confirm opening of a channel (ChannelOpenConfirm)
chan-open-init Initialize a channel (ChannelOpenInit)
chan-open-try Relay the channel attempt (ChannelOpenTry)
conn-ack Relay acknowledgment of a connection attempt (ConnectionOpenAck)
conn-confirm Confirm opening of a connection (ConnectionOpenConfirm)
conn-init Initialize a connection (ConnectionOpenInit)
conn-try Relay the connection attempt (ConnectionOpenTry)
ft-transfer Send a fungible token transfer test transaction (ICS20 MsgTransfer)
help Print this message or the help of the given subcommand(s)
packet-ack Relay acknowledgment packets
packet-recv Relay receive or timeout packets
upgrade-chain Send an IBC upgrade plan