You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于Axelar构建跨EVM与非EVM Cosmos链的全栈DAPP?

基于Axelar构建跨EVM与Cosmos链的DAPP方案

核心结论:完全可以实现

你可以基于Axelar构建跨Avalanche(EVM)和Cosmos生态链的完整DAPP(如DEX、NFT市场),Axelar的通用消息传递(GMP)层专门解决了不同虚拟机(EVM/Cosmos SDK)之间的交互差异。


跨VM链的DAPP实现思路

Axelar通过链上网关组件+中继网络实现跨VM交互:

  • EVM链(如Avalanche):部署标准Solidity合约,通过Axelar Gateway合约的方法发起跨链调用;
  • Cosmos链:部署CosmWasm合约(或基于Cosmos SDK开发原生模块),通过Axelar的Cosmos GMP模块接收并处理跨链消息。

针对你提到的callContractWithToken()方法:

  • 该方法仅适用于EVM链之间的交互,不能直接在Cosmos链上调用。但Axelar的GMP层会自动完成格式转换:EVM链上调用callContractWithToken()后,中继网络会将调用请求转换成Cosmos链可识别的SDK消息(如MsgSendCrossChainCall),触发目标CosmWasm合约的指定回调函数(如execute_cross_chain_call);反之,Cosmos链发起的跨链带资产调用,也会被转换成EVM合约可处理的回调事件。

以NFT市场为例,实现流程大概是:

  1. Avalanche链上的用户发起跨链NFT交易,调用本地合约的方法,该方法通过Axelar Gateway调用callContractWithToken(),附带交易数据和手续费;
  2. Axelar中继网络确认EVM链上的交易后,向Cosmos链发送GMP消息,触发CosmWasm合约执行NFT转移逻辑;
  3. Cosmos链处理完成后,通过Axelar回传确认消息到Avalanche链,更新本地合约状态。

跨不同VM链的代币转账机制

Axelar通过资产锁定/铸造的模式实现跨VM代币转移,分两种场景:

  1. 纯代币转账(sendToken)

    • 从EVM到Cosmos:用户在EVM链调用Axelar Gateway的sendToken(),锁定原生代币(如AVAX);中继网络确认后,在目标Cosmos链铸造对应的包装资产(如axl-AVAX),存入用户指定地址;
    • 从Cosmos到EVM:用户通过Cosmos链的Axelar模块发起代币转移,销毁链上的包装资产;中继网络确认后,在目标EVM链解锁对应的原生代币,转入用户地址。
  2. 带消息的代币转账(callContractWithToken/跨链GMP消息)

    • EVM侧:调用callContractWithToken()时,同时指定目标Cosmos链的合约地址、执行方法和参数;Axelar会先完成代币的铸/毁,再触发目标CosmWasm合约执行对应的业务逻辑(如DEX流动性添加、NFT mint);
    • Cosmos侧:通过CosmWasm合约发起带资产的GMP消息,Axelar中继网络会将资产转移和消息调用转换成EVM合约可识别的事件,触发目标Solidity合约的回调函数。

内容的提问来源于stack exchange,提问作者Corey Williams

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 19:45:09