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-transfer
perintah Namada, kita perlu mengetahui dan base-dir
setiap node
instance (dan parameter transfer lainnya). base-dir
adalah direktori dasar setiap node, lihat dir dasar untuk informasi lebih lanjut. node
adalah rpc_addr
dari 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-id
is 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-transfer
perintah 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