Ethermint is a scalable and interoperable Ethereum, built on Proof-of-Stake with fast-finality using the Cosmos SDK.
@cosmjs/faucet
.AnteHandler
when gas price larger than 100000EndBlock
to make sure every node state consistent.wrong Block.Header.AppHash
when restart a node with snapshot.Balance
field has been removed from the evm module's GenesisState
.eth_getBalance
eth_getTransactionCount
eth_getBlockTransactionCountByNumber
eth_getBlockByNumber
eth_getTransactionByHash
eth_getTransactionByBlockNumberAndIndex
eth_sendTransaction
- the nonce will automatically update to its pending nonce (when none is explicitly provided)GenesisAccount
fields now share the same format as the auth module Account
.Context
GetHash
field that retrieves the header hash from a given block height.eth_protocolVersion
.Call
and Create
operations.List
returned an error.crypto.PubKeySecp256k1
and crypto.PrivKeySecp256k1
are now ethsecp256k1.PubKey
and ethsecp256k1.PrivKey
, respectivelySigningAlgo
implementation for Ethermint's Secp256k1 key to crypto/hd
package.rpc
package has been refactored to account for the separation of each
corresponding Ethereum API namespace:
rpc/namespaces/eth
: eth
namespace. Exposes the PublicEthereumAPI
and the PublicFilterAPI
.rpc/namespaces/personal
: personal
namespace. Exposes the PrivateAccountAPI
.rpc/namespaces/net
: net
namespace. Exposes the PublicNetAPI
.rpc/namespaces/web3
: web3
namespace. Exposes the PublicWeb3API
.AnteHandler
.BeginBlock
, as well as gas consumption.BIP44HDPath
that did not prepend m/
to the path. This now uses the DefaultBaseDerivationPath
variable from go-ethereum to ensure addresses are consistent.chainID
standard, which is required for IBC. The epoch number of the ID is used as the EVM chainID
.types.DenomDefault
constant for "aphoton"
has been renamed to types.AttoPhoton
.EthAccount
using an Ethereum hex address in addition to Bech32.--coin-denom
flag to testnet command that sets the given coin denomination to SDK and Ethermint parameters.EthAccount
now also exposes the Ethereum hex address in string
format to clients.EthAccount
public key JSON type to string
.x/upgrade
module for managing software updates.x/evm
) #458 Define parameter for token denomination used for the EVM module.x/evm
) #443 Support custom Ethereum ChainConfig
params.aphoton
).AnteHandler
for MsgEthereumTx
.aphoton
on EthAccount
balance getter and setter.x/evm
) #496 Fix bugs on journal.revert
and CommitStateDB.Copy
.60
to satisfy EIP84.x/evm
) #181 Updated EVM module to the recommended module structure.x/evm
) Rename EthereumTxMsg
--> MsgEthereumTx
and EmintMsg
--> MsgEthermint
for consistency with SDK standardsEthermintApp
as testing suiteKeeper
interface for AccountKeeper
count
type in keeper with int
app/ante
) Moved AnteHandler
implementation to app/ante
ExportEthKeyCommand
as UNSAFE
x/evm
) Moved BeginBlock
and EndBlock
to x/evm/abci.go
x/evm
) #255 Add missing GenesisState
fields and support ExportGenesis
functionality.Logger
for evm module.GenesisAccount
validation.x/evm
) #319 Various evm improvements:
[]*ethtypes.Logs
to evm's GenesisState
to persist logs after an upgrade.CodeKey
and BlockKey
in favor of a prefix Store
.BlockBloom
during EndBlock
instead of BeginBlock
.Commit
state object and Finalize
storage after InitGenesis
setup.eth_coinbase
JSON-RPC query now returns the node's validator address.make localnet-start
.PublicFilterAPI
's EventSystem
which subscribes to Tendermint events upon Filter
creation.NewBlockFilter
in rpc/filters.go which instantiates a polling block filter
BlockNumber
rpc call; if block number changes, it requests the new block via GetBlockByNumber
rpc call and adds it to its internal list of blocksuninstallFilter
and getFilterChanges
accordinglyuninstallFilter
stops the polling goroutinegetFilterChanges
returns the filter's internal list of block hashes and resets iteth_getFilterLogs
and eth_getLogs
:
eth_getLogs
and eth_getFilterChanges
for log filters use the same underlying method as eth_getFilterLogs
HandleMsgEthereumTx
to store logs using the ethereum hasheth_getTransactionCount
to check for account existence before getting sequence and return 0 as the nonce if it doesn't exist.x/evm
) #319 Fix SetBlockHash
that was setting the incorrect height during BeginBlock
.x/evm
) #176 Updated Web3 transaction hash from using RLP hash. Now all transaction hashes exposed are amino hashes:
Hash()
(RLP) function from MsgEthereumTx
to avoid confusion or misuse in future.