Laconic state machine
Go to file
Pierre 153478eb69
evm: roll back CommitStateDB after failing to execute handler (#677)
* Roll back CommitStateDB after failing to execute handler in evm module

* add function CopyCommitStateDB

* add comment

* add comment

* Add ut about the dirty data generated by CommitStateDB

* format code
2021-01-08 09:28:25 -03:00
.github build(deps): bump actions/setup-node from v2.1.3 to v2.1.4 (#664) 2020-12-16 15:35:33 +01:00
app fix panic when start a node with snapshot (#673) 2021-01-07 08:55:01 -03:00
client crypto: refactor for stargate (#559) 2020-10-06 20:57:55 +02:00
cmd app: fix export genesis (#619) 2020-11-27 19:42:04 +01:00
codec crypto: refactor for stargate (#559) 2020-10-06 20:57:55 +02:00
core build(deps): bump github.com/ethereum/go-ethereum from 1.9.18 to 1.9.19 (#456) 2020-08-24 13:40:16 -04:00
crypto crypto: fix Bip44 derivation path (#577) 2020-10-16 10:51:00 -03:00
docs build(deps): bump ini from 1.3.5 to 1.3.8 in /docs (#658) 2020-12-14 14:50:29 +01:00
importer fix panic when start a node with snapshot (#673) 2021-01-07 08:55:01 -03:00
networks/local ChainSafe/ethermint -> cosmos/ethermint renaming (#569) 2020-10-09 17:52:32 +02:00
proto/ethermint stargate: proto files (#679) 2021-01-07 18:45:32 -03:00
rpc stargate: migrate types (#670) 2021-01-06 17:56:40 -03:00
scripts stargate: proto files (#679) 2021-01-07 18:45:32 -03:00
tests Pending (#571) 2020-12-15 19:52:09 +00:00
tests-solidity build(deps): bump ini from 1.3.5 to 1.3.8 in /tests-solidity (#657) 2020-12-14 15:36:02 +01:00
third_party/proto stargate: proto files (#679) 2021-01-07 18:45:32 -03:00
types stargate: migrate types (#670) 2021-01-06 17:56:40 -03:00
utils update tools configs (#611) 2020-11-24 16:43:08 +01:00
x evm: roll back CommitStateDB after failing to execute handler (#677) 2021-01-08 09:28:25 -03:00
.clang-format stargate: proto files (#679) 2021-01-07 18:45:32 -03:00
.gitignore makefile: install yarn (#526) 2020-09-23 11:28:38 -03:00
.golangci.yml update tools configs (#611) 2020-11-24 16:43:08 +01:00
.mergify.yml update tools configs (#611) 2020-11-24 16:43:08 +01:00
buf.yaml stargate: proto files (#679) 2021-01-07 18:45:32 -03:00
CHANGELOG.md fix panic when start a node with snapshot (#673) 2021-01-07 08:55:01 -03:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2018-07-17 11:52:20 -04:00
codecov.yml update tools configs (#611) 2020-11-24 16:43:08 +01:00
CONTRIBUTING.md Implement eth_pendingTransactions, bump sdk version (#124) 2019-10-19 08:23:09 +09:00
docker-compose.yml fix port assignment for Docker testnet (#432) 2020-08-05 12:39:03 -04:00
Dockerfile add jq (#616) 2020-11-24 13:36:46 -08:00
go.mod stargate: proto files (#679) 2021-01-07 18:45:32 -03:00
go.sum stargate: proto files (#679) 2021-01-07 18:45:32 -03:00
gometalinter.json Upgrade geth and cleanup 2018-09-28 17:40:58 -04:00
init.sh Pending (#571) 2020-12-15 19:52:09 +00:00
LICENSE Initial commit 2018-06-10 14:25:18 +01:00
Makefile stargate: proto files (#679) 2021-01-07 18:45:32 -03:00
README.md build: require go 1.15+ (#610) 2020-11-20 19:31:57 +01:00

Ethermint

Ethermint is a scalable, high-throughput Proof-of-Stake blockchain that is fully compatible and interoperable with Ethereum. It's build using the the Cosmos SDK which runs on top of Tendermint Core consensus engine.

WARNING: Ethermint is under VERY ACTIVE DEVELOPMENT and should be treated as pre-alpha software. This means it is not meant to be run in production, its APIs are subject to change without warning and should not be relied upon, and it should not be used to hold any value. We will remove this warning when we have a release that is stable, secure, and properly tested.

Note: Requires Go 1.15+

Quick Start

To learn how the Ethermint works from a high-level perspective, go to the Introduction section from the documentation.

For more, please refer to the Ethermint Docs, which are also hosted on docs.ethermint.zone.

Tests

Unit tests are invoked via:

make test

To run JSON-RPC tests, execute:

make test-rpc

There is also an included Ethereum mainnet exported blockchain file in importer/blockchain that includes blocks up to height 97638. To execute and test a full import of these blocks using the EVM module, execute:

make test-import

You may also provide a custom blockchain export file to test importing more blocks via the --blockchain flag. See TestImportBlocks for further documentation.

Community

The following chat channels and forums are a great spot to ask questions about Ethermint: