* evm: module specification * params and events * readme and messages * minor updates * concepts * genesis state concept * begin and end block * update parameters and genesis * state objects * state table * use permalink * init and export genesis * update abci * extra eips param * review comments * precision * link to photon doc
2.2 KiB
Parameters
The evm module contains the following parameters:
| Key | Type | Default Value |
|---|---|---|
EVMDenom |
string | "aphoton" |
EnableCreate |
bool | true |
EnableCall |
bool | true |
ExtraEIPs |
[]int | TBD |
EVM denom
The evm denomination parameter defines the token denomination used on the EVM state transitions and gas consumption for EVM messages.
The EVM Denom is used on the following cases:
AnteHandler: for calculating sufficient balance to pay for gas cost or transaction fees.journal: to revert certain state executions (balanceChangeandsuicideChange).stateObject: to track theevm_denombalance of the object account.CommitStateDB: to update account balance from an existing state object.
For example, on Ethereum, the evm_denom would be ETH. In the case of Ethermint, the default denomination is the atto photon. 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.
::: danger
SDK applications that want to import the EVM module as a dependency will need to set their own evm_denom (i.e not "aphoton").
:::
Enable Create
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.
Enable Transfer
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.
Extra EIPs
The extra EIPs parameter defines the set of activateable Ethereum Improvement Proposals (EIPs)
on the Ethereum VM Config that apply custom jump tables.
The supported activateable EIPS are: