IBC 转账 (IBC transfers)

通过 IBC 转移资产 (Transferring assets over IBC)

利用 Namada 命令行界面(cli),可以通过命令 namadac ibc-transfer 进行 ibc 转账。前提假设是已经创建了一个通道,并且 Hermes 在两个节点上运行着正确的配置。

为了使用 Namada 的 ibc-transfer 命令进行 IBC 转账,我们需要知道每个实例的 base-dirnode(以及其他转账参数)。base-dir 是每个节点的基本目录,详见 base-dir 获取更多信息。node 是中继器的 rpc_addr。你可以运行

grep "rpc_addr" ${HERMES_CONFIG}

来查找地址。

仅对本地节点 (For the local node ONLY)

要查找链 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-id 将取决于创建通道的顺序。由于我们只打开了一个通道, channel-idchannel-0,但随着更多通道的创建,这些 channel-id 会按索引递增。 channel-id 应由中继器通知。

假设打开的通道是 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}找到接收者的原始地址。

例如:

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

交易提交后,中继器需要将数据包中继到另一条链。这是由运行 Hermes 的中继器自动完成的。如果数据包从未成功中继,则资金将在超时后返回给发送方。在space说明中查看更多信息。


从基于 Cosmos-SDK 的链上转回资产 (Transferring assets back from Cosmos-SDK based chains)

当资产被转移到基于 Cosmos-SDK 的链时,ibc 转账将按照上述方式进行。然而,从 cosmos-based 链转回时,显然 namadac ibc-transfer 命令将不起作用。相反,您会想要使用 gaiad

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

例如:

gaiad tx ibc-transfer transfer transfer channel-0 atest1d9khqw368qcyx3jxxu6njs2yxs6y2sjyxdzy2d338pp5yd35g9zrv334gceng3z9gvmryv2pfdddt4 10ibc/281545A262215A2D7041CE1B518DD4754EC7097A1C937BE9D9AB6F1F11B452DD --from my-cosmos-address --node https://rpc.sentry-01.theta-testnet.polypore.xyz:443 --fees 5000uatom

Last updated