Axelar Local Dev Cosmos offers a comprehensive suite of tools for local development involving Cosmos chains. With this package, developers can easily deploy WebAssembly (Wasm) contracts on a Wasm chain and seamlessly send cross-chain messages to the Ethereum Virtual Machine (EVM) chain.
Note: This package is currently under development. Some functionalities might be unstable.
- Docker installed and running on your local machine.
Run the following command to pull the Docker image, set up the chains, and establish IBC connections:
npm run start
Alternatively, you can start the chains programmatically:
import { startChains } from "@axelar-network/axelar-local-dev-cosmos";
startChains();
After setting up the chains, follow these steps to run the IBC Relayer and Axelar Event Listener:
Create Axelar Relayer Service for initailizing the IBC channels and keep listening to incoming events:
import {
defaultAxelarChainInfo,
AxelarRelayerService,
} from "@axelar-network/axelar-local-dev-cosmos";
const axelarRelayerService = await AxelarRelayerService.create(
defaultAxelarChainInfo
);
To relay messages after they have been submitted on the Ethereum or Wasm chains, use the following method:
import {
evmRelayer,
createNetwork,
relay,
RelayerType,
} from "@axelar-network/axelar-local-dev";
import {
defaultAxelarChainInfo,
AxelarRelayerService,
} from "@axelar-network/axelar-local-dev-cosmos";
// Setup for Ethereum Network and Wasm chain relayer
const evmNetwork = await createNetwork({ name: "Ethereum" });
const wasmRelayer = await AxelarRelayerService.create(defaultAxelarChainInfo);
// Deploy contracts, send messages, and call the relay function
// ...
evmRelayer.setRelayer(RelayerType.Wasm, wasmRelayer);
await relay({
wasm: wasmRelayer,
evm: evmRelayer,
});
// Verify results on the destination chain
// ...
- We currently support
Ethereum
as the destination chain for messages originating from the Wasm chain. - For implementation details, see our Local Example and Axelar Example.
The Local Example utilizes the same contracts as in the Axelar Examples.