The MiniEVM framework is compatible with all standard EVM developer workflows,
tooling, and libraries that developers are already familiar with. This includes
popular tools like Foundry,
Hardhat, and Remix IDE.
However, there are minor differences in the way the MiniEVM operates that may
require some adjustments to your existing development workflows.
EIP-1559 TransactionsMiniEVM currently does not support EIP-1559 transactions. This means that when
using tools like Foundry to deploy or interact with contracts, or to generally
send transactions, you will need to use the legacy transaction type.
By default, any new Cosmos coins created on the chain, whether they are fee
denomination tokens, tokens minted via IBC, or other tokens created at genesis
will also have an ERC20 representation on the MiniEVM. This allows developers
and users to interact with these tokens using both the Cosmos Coin interface and
messages, as well as the EVM ERC20 interface.
While the Cosmos SDK and rollup design supports multiple fee denominations on a
single network, the MiniEVM’s EVM module uses a single fee token denomination
for all transactions. This denomination must be one of those set on the Cosmos
side.Once set, the EVM fee denomination effectively becomes the equivalent of native
tokens (e.g. ETH) on other EVM networks. This denomination will then be used for
transaction fees sent via the EVM’s JSON-RPC, as well as for any funds attached
to EVM transactions via msg.value.However, as mentioned above, unlike other EVM networks, the MiniEVM’s native
token is also represented by an ERC20 interface. This means that for any
transaction or logic, you can also interact with it using the ERC20 interface.
EIP 1559 TransactionsWhen using Foundry to deploy or interact with contracts, or to send transactions
in general, you will need to use the legacy transaction type. This can be done
by using the --legacy flag.Precompiles and Foundry ScriptsFoundry’s forge script feature always simulates all script transactions on a
local standard EVM (without precompiles), and there is currently
no way to skip this simulation.
Consequently, any contract deployment or transaction that relies on MiniEVM
precompiles will fail.