Integrate the EVM in a Cosmos SDK chain with Ignite

Integrate the EVM in a Cosmos SDK chain with Ignite

In this tutorial, you will learn how to add EVM (Ethereum Virtual Machine) support to your Cosmos SDK blockchain using Ignite CLI.

Ignite CLI offers a variety of Ignite Apps that simplify development. One of them is the Ignite EVM App, which streamlines the integration of Ethereum compatibility into your Cosmos SDK chain.


Step 1: Install Ignite Version 29.6.0

Begin by installing the required version of Ignite CLI:

šŸ‘‰ https://docs.ignite.com/welcome/install

Once installed, create your Cosmos SDK blockchain with the following command:

ignite scaffold chain gm --address-prefix gm

install command

Navigate into your new blockchain directory:

cd gm

Step 2: Install the Ignite EVM App

Open a new terminal window and install the Ignite EVM App using the following command:

ignite app install github.com/ignite/apps/evm@evm/v0.1.1

ignite evm app install

This will add the EVM module and related configurations to your project.


Step 3: Add EVM Capabilities

Integrate and configure the EVM module by running:

ignite evm add

evm module scaffolding

By default, the EVM module is configured for greater Cosmos compatibility:

  • The token decimals are set to 6.
  • The precise bank keeper is not enabled.

These settings can be adjusted later if needed. For more advanced configuration, refer to the official guide.


Step 4: Start Your Blockchain

Start your blockchain using the standard command:

ignite chain serve

start blockchain (via ignite)

Alternatively, run it manually with Ethereum JSON-RPC enabled:

gmd start \
  --json-rpc.enable \
  --json-rpc.address="0.0.0.0:8545" \
  --json-rpc.ws-address="0.0.0.0:8546" \
  --json-rpc.api="eth,web3,net,txpool,debug,personal"

start blockchain (manually)

Note: Above we are using flags, but as always, you can modify the config.yaml to achieve the same thing.

Your Cosmos SDK blockchain now supports Ethereum functionality.

The Ignite EVM App significantly simplifies the process of configuring the EVM template manually. However, we recommend gaining a deeper understanding of Cosmos EVM integration by reading the official documentation:
šŸ‘‰ https://evm.cosmos.network

Questions or support needed? Join our discord.