--- tags: game-of-chains --- # Duality relayer ## Connection setup ``` hermes create connection --a-chain duality --a-client 07-tendermint-0 --b-client 07-tendermint-6 2022-11-28T20:59:18.935348Z INFO ThreadId(01) using default configuration from '/home/hermes/.hermes/config.toml' 2022-11-28T20:59:19.049669Z INFO ThreadId(01) Creating a new connection with pre-existing clients 07-tendermint-0 and 07-tendermint-6 2022-11-28T20:59:26.636440Z INFO ThreadId(01) 🥂 duality => OpenInitConnection(OpenInit { Attributes { connection_id: connection-0, client_id: 07-tendermint-0, counterparty_connection_id: None, counterparty_client_id: 07-tendermint-6 } }) at height 0-14 2022-11-28T20:59:51.430431Z INFO ThreadId(01) 🥂 provider => OpenTryConnection(OpenTry { Attributes { connection_id: connection-19, client_id: 07-tendermint-6, counterparty_connection_id: connection-0, counterparty_client_id: 07-tendermint-0 } }) at height 0-339416 2022-11-28T21:00:17.234523Z INFO ThreadId(01) 🥂 duality => OpenAckConnection(OpenAck { Attributes { connection_id: connection-0, client_id: 07-tendermint-0, counterparty_connection_id: connection-19, counterparty_client_id: 07-tendermint-6 } }) at height 0-21 2022-11-28T21:00:25.562033Z INFO ThreadId(01) 🥂 provider => OpenConfirmConnection(OpenConfirm { Attributes { connection_id: connection-19, client_id: 07-tendermint-6, counterparty_connection_id: connection-0, counterparty_client_id: 07-tendermint-0 } }) at height 0-339421 2022-11-28T21:00:28.568621Z INFO ThreadId(01) connection handshake already finished for Connection { delay_period: 0ns, a_side: ConnectionSide { chain: BaseChainHandle { chain_id: duality }, client_id: 07-tendermint-0, connection_id: connection-0 }, b_side: ConnectionSide { chain: BaseChainHandle { chain_id: provider }, client_id: 07-tendermint-6, connection_id: connection-19 } } SUCCESS Connection { delay_period: 0ns, a_side: ConnectionSide { chain: BaseChainHandle { chain_id: ChainId { id: "duality", version: 0, }, runtime_sender: Sender { .. }, }, client_id: ClientId( "07-tendermint-0", ), connection_id: Some( ConnectionId( "connection-0", ), ), }, b_side: ConnectionSide { chain: BaseChainHandle { chain_id: ChainId { id: "provider", version: 0, }, runtime_sender: Sender { .. }, }, client_id: ClientId( "07-tendermint-6", ), connection_id: Some( ConnectionId( "connection-19", ), ), }, } ``` ## Channel setup ``` hermes create channel --a-chain duality --a-port consumer --b-port provider --order ordered --a-connection connection-0 --channel-version 1 2022-11-28T21:00:50.808866Z INFO ThreadId(01) using default configuration from '/home/hermes/.hermes/config.toml' 2022-11-28T21:01:05.940758Z INFO ThreadId(01) 🎊 duality => OpenInitChannel(OpenInit { port_id: consumer, channel_id: channel-0, connection_id: None, counterparty_port_id: provider, counterparty_channel_id: None }) at height 0-26 2022-11-28T21:01:19.544797Z INFO ThreadId(01) 🎊 provider => OpenTryChannel(OpenTry { port_id: provider, channel_id: channel-16, connection_id: connection-19, counterparty_port_id: consumer, counterparty_channel_id: channel-0 }) at height 0-339430 2022-11-28T21:01:37.447762Z INFO ThreadId(01) 🎊 duality => OpenAckChannel(OpenAck { port_id: consumer, channel_id: channel-0, connection_id: connection-0, counterparty_port_id: provider, counterparty_channel_id: channel-16 }) at height 0-30 2022-11-28T21:02:00.727952Z INFO ThreadId(01) 🎊 provider => OpenConfirmChannel(OpenConfirm { port_id: provider, channel_id: channel-16, connection_id: connection-19, counterparty_port_id: consumer, counterparty_channel_id: channel-0 }) at height 0-339436 2022-11-28T21:02:03.731724Z INFO ThreadId(01) channel handshake already finished for Channel { ordering: ORDER_ORDERED, a_side: ChannelSide { chain: BaseChainHandle { chain_id: duality }, client_id: 07-tendermint-0, connection_id: connection-0, port_id: consumer, channel_id: channel-0, version: 1 }, b_side: ChannelSide { chain: BaseChainHandle { chain_id: provider }, client_id: 07-tendermint-6, connection_id: connection-19, port_id: provider, channel_id: channel-16, version: 1 }, connection_delay: 0ns } SUCCESS Channel { ordering: Ordered, a_side: ChannelSide { chain: BaseChainHandle { chain_id: ChainId { id: "duality", version: 0, }, runtime_sender: Sender { .. }, }, client_id: ClientId( "07-tendermint-0", ), connection_id: ConnectionId( "connection-0", ), port_id: PortId( "consumer", ), channel_id: Some( ChannelId( "channel-0", ), ), version: Some( Version( "1", ), ), }, b_side: ChannelSide { chain: BaseChainHandle { chain_id: ChainId { id: "provider", version: 0, }, runtime_sender: Sender { .. }, }, client_id: ClientId( "07-tendermint-6", ), connection_id: ConnectionId( "connection-19", ), port_id: PortId( "provider", ), channel_id: Some( ChannelId( "channel-16", ), ), version: Some( Version( "1", ), ), }, connection_delay: 0ns, } ```