Перевод активов через 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}для поиска адреса.
Только для локального узла
Чтобы найти адрес своей для цепочки A, можно выполнить следующую команду
export BASE_DIR_A = "${HERMES}/data/namada-a/.namada"
export LEDGER_ADDRESS_A = "$(grep "rpc_address" ${BASE_DIR_A}/${CHAIN_A_ID}/setup/validator-0/.namada/${CHAIN_A_ID}/config.toml)"Идентификатор канала для этой цепочки будет зависеть от порядка создания каналов. Поскольку мы открыли только один канал, идентификатор канала - 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