Parameters
Last updated
Last updated
The evm module contains the following parameters:
Key | Type | Default Value |
---|---|---|
The evm denomination parameter defines the token denomination used on the EVM state transitions and gas consumption for EVM messages.
For example, on Ethereum, the evm_denom
would be ETH
. In the case of Ethermint, the default denomination is the atto photon (used on the BlockX testnets). In terms of precision, the PHOTON
and ETH
share the same value, i.e 1 PHOTON = 10^18 atto photon
and 1 ETH = 10^18 wei
.
SDK applications that want to import the EVM module as a dependency will need to set their own evm_denom
(i.e not "aphoton"
).
The enable create parameter toggles state transitions that use the vm.Create
function. When the parameter is disabled, it will prevent all contract creation functionality.
The enable transfer toggles state transitions that use the vm.Call
function. When the parameter is disabled, it will prevent transfers between accounts and executing a smart contract call.
The extra EIPs parameter defines the set of activateable Ethereum Improvement Proposals) on the Ethereum VM Config
that apply custom jump tables.
Note that some of these EIPs are already enabled by the chain configuration, depending on the hard fork number.
The supported activateable EIPS are:
The ChainConfig
is a protobuf wrapper type that contains the same fields as the go-ethereum ChainConfig
parameters, but using *sdk.Int
types instead of *big.Int
.
By default, all block configuration fields but ConstantinopleBlock
, are enabled at genesis (height 0).
Name | Default Value |
---|---|
EVMDenom
string
"aphoton"
EnableCreate
bool
true
EnableCall
bool
true
ExtraEIPs
[]int
TBD
ChainConfig
ChainConfig
See ChainConfig
HomesteadBlock
0
DAOForkBlock
0
DAOForkSupport
true
EIP150Block
0
EIP150Hash
0x0000000000000000000000000000000000000000000000000000000000000000
EIP155Block
0
EIP158Block
0
ByzantiumBlock
0
ConstantinopleBlock
0
PetersburgBlock
0
IstanbulBlock
0
MuirGlacierBlock
0
BerlinBlock
0
LondonBlock
0