Перевод активов через IBC

Выполнить ibc-передачу можно с помощью Namada cli, выполнив команду namadac ibc-transfer. Предполагается, что для этого должен быть создан канал и запущен Hermes с правильной конфигурацией на двух узлах.

Для того чтобы выполнить IBC-передачу с помощью команды ibc-transfer в Namada, нам необходимо знать base-dir и node каждого экземпляра (а также другие параметры передачи). base-dir - это базовый каталог каждого узла, подробнее см. в разделе базовый каталог. node - это rpc_addr ретранслятора. Вы можете выполнить команду:

grep "rpc_addr" ${HERMES_CONFIG}

для поиска адреса.

Идентификатор канала для этой цепочки будет зависеть от порядка создания каналов. Поскольку мы открыли только один канал, идентификатор канала - channel-0, но по мере создания новых каналов он будет увеличиваться на индекс, возрастающий на 1. Идентификатор канала должен передаваться ретранслятором.

Предполагая, что открытый канал - channel-0, можно сохранить его в переменной окружения, выполнив команду:

export CHANNEL_ID = "channel-0"

Межблокчейновые переводы из цепочки A могут быть осуществлены следующим образом:

namadac --base-dir ${BASE_DIR_A}
    ibc-transfer \
        --amount ${AMOUNT} \
        --source ${SOURCE_ALIAS} \
        --receiver ${RECEIVER_RAW_ADDRESS} \
        --token ${TOKEN_ALIAS} \
        --channel-id ${CHANNEL_ID} \
        --node ${LEDGER_ADDRESS_A}

Где указанные выше переменные в ${VARIABLE} должны быть заменены соответствующими значениями. Необработанный адрес приемника можно найти по команде namadaw --base-dir ${BASE_DIR_B} address find --alias ${RECEIVER}.

Например:

После отправки транзакции ретранслятор должен передать пакет в другую цепочку. Это делается автоматически ретранслятором, работающим под управлением Hermes. Если пакет так и не был успешно передан, средства возвращаются отправителю по истечении таймаута. Более подробная информация приведена в спецификации.

Перенос активов обратно из цепочек на базе Cosmos-SDK

При переходе на цепочку, основанную на Cosmos-SDK, ibc-передача выполняется, как описано выше. Однако при обратном переносе из цепочки на базе Cosmos, очевидно, команда namadac ibc-transfer работать не будет. Вместо нее следует использовать команду gaiad.

например:

Last updated