Integrating the Cosmos EVM module into Cosmos SDK v0.53.x chains
appd
refers to your chain’s binary (e.g., gaiad
, dydxd
, etc.).app/app.go
: Set chain ID constantsMakefile
, scripts, and genesis.json
with correct chain IDseth_secp256k1
as the standard account type with coin type 60 for Ethereum compatibility.
Files to Update:
app/app.go
:chain_registry.json
:app/app.go
:init()
function:x/precisebank
module wraps the native x/bank
module to maintain fractional balances for EVM denominations, handling full 18-decimal precision without loss.
Benefits:
x/erc20
module can automatically register ERC20 token pairs for incoming single-hop IBC tokens (prefixed with “ibc/”).
github.com/cosmos/evm/x/ibc/transfer
app/config.go
to set up global EVM configuration:
app/precompiles.go
to define available precompiled contracts:
ante/
directory in your project root.
evmd
enables it by default.
/cosmos.evm.vm.v1.ExtensionOptionsEthereumTx
app.Erc20Keeper.SetICS20Module(transferModule)
after keeper initialization