Transfer IBC

Mentransfer aset melalui IBC

Dimungkinkan untuk melakukan transfer ibc menggunakan Namada cli dengan perintah namadac ibc-transfer. Prasyarat yang diasumsikan adalah saluran telah dibuat dan Hermes berjalan dengan konfigurasi yang tepat pada dua node.

Untuk melakukan transfer IBC menggunakan ibc-transferperintah Namada, kita perlu mengetahui dan base-dirsetiap nodeinstance (dan parameter transfer lainnya). base-diradalah direktori dasar setiap node, lihat dir dasar untuk informasi lebih lanjut. nodeadalah rpc_addrdari relayer. Anda bisa lari

grep "rpc_addr" ${HERMES_CONFIG}

untuk menemukan alamatnya.

💡 HANYA untuk node lokal

Untuk menemukan alamat buku besar Anda untuk Rantai A, Anda dapat menjalankan perintah berikut

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)"

ID saluran untuk rantai ini akan bergantung pada urutan pembuatan saluran. Karena kita hanya membuka satu saluran, yaitu channel-idis channel-0, tetapi semakin banyak saluran yang dibuat, saluran tersebut bertambah dengan indeks bertambah 1. Channel-id harus dikomunikasikan oleh relayer.

Dengan asumsi saluran terbuka adalah channel-0, Anda dapat menyimpannya dalam variabel lingkungan dengan menjalankannya

export CHANNEL_ID = "channel-0"

Transfer antar-blockchain dari Chain A dapat dicapai dengan

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}

Dimana variabel-variabel di atas ${VARIABLE}harus disubstitusi dengan nilai yang sesuai. Alamat mentah penerima dapat ditemukan dengan namadaw --base-dir ${BASE_DIR_B} address find --alias ${RECEIVER}.

Misalnya

namadac --base-dir ${BASE_DIR_A}
    ibc-transfer \
    --amount 100 \
    --source albert \
    --receiver atest1d9khqw36g56nqwpkgezrvvejg3p5xv2z8y6nydehxprygvp5g4znj3phxfpyv3pcgcunws2x0wwa76 \
    --token nam \
    --channel-id channel-0 \
    --node 127.0.0.1:27657

Setelah transaksi dikirimkan, relayer perlu meneruskan paket ke rantai lainnya. Hal ini dilakukan secara otomatis oleh relayer yang menjalankan Hermes. Jika paket tidak berhasil diteruskan, dana akan dikembalikan ke pengirim setelah batas waktu habis. Lihat informasi lebih lanjut di spesifikasi(terbuka di tab baru).

Mentransfer kembali aset dari rantai berbasis Cosmos-SDK

Ketika transfer telah dilakukan ke rantai berbasis Cosmos-SDK, transfer ibc dilakukan seperti di atas. Namun, ketika berpindah kembali dari rantai berbasis kosmos, jelas namadac ibc-transferperintah tersebut tidak akan berfungsi. Sebaliknya, Anda ingin menggunakangaiad(terbuka di tab baru).

gaiad tx ibc-transfer transfer transfer ${CHANNEL_ID} ${RECEIVER_RAW_ADDRESS} ${AMOUNT}${IBC_TOKEN_ADDRESS} --from ${COSMOS_ALIAS} --node ${COSMOS_RPC_ENDPOINT} --fees 5000uatom

Misalnya:

gaiad tx ibc-transfer transfer transfer channel-0 atest1d9khqw368qcyx3jxxu6njs2yxs6y2sjyxdzy2d338pp5yd3

Last updated