Laconic state machine
Go to file
yihuang 1fe07edbf9
evm: refactor dup state transition code (#674)
* Problem: state transition code is duplicated

Closes: #672

Solution:
- move gas refund out from ApplyMessage
- move check into ApplyMessage
- move evm construction into ApplyMessage
- ensure context stack is clean after ApplyMessage return

fix unit tests

undo rename

add underflow check

* improve performance

- don't duplicate params loading
- passing EVMConfig around as pointer
2021-10-22 19:21:03 +02:00
.bencher ci: add bencher config (#652) 2021-10-08 12:07:03 +00:00
.github fix: commented out importer test (#691) 2021-10-22 12:20:23 +02:00
app evm: refactor dup state transition code (#674) 2021-10-22 19:21:03 +02:00
client refactor: eth_call and eth_estimateGas don't need to pass base fee as field (#671) 2021-10-21 17:29:19 +02:00
cmd deps: bump cosmos-sdk (#692) 2021-10-22 10:49:38 +00:00
contrib/scripts ci: liveness test (#498) 2021-08-26 15:21:43 +00:00
crypto crypto: updates from reviews (#535) 2021-09-07 17:29:24 +00:00
docs refactor: eth_call and eth_estimateGas don't need to pass base fee as field (#671) 2021-10-21 17:29:19 +02:00
encoding all: bump go-ethereum to v1.10.9 (#231) 2021-10-05 15:38:20 +00:00
log log: add benchmark for handler.Log (#494) 2021-08-26 10:36:07 +00:00
networks/local [Snyk] Security upgrade golang from 1.16.7 to 1.16 (#670) 2021-10-14 07:39:48 +00:00
proto refactor: eth_call and eth_estimateGas don't need to pass base fee as field (#671) 2021-10-21 17:29:19 +02:00
rpc evm: refactor dup state transition code (#674) 2021-10-22 19:21:03 +02:00
scripts ci: update test scripts and actions (#657) 2021-10-21 11:06:20 +00:00
server rpc: eth_resend (#684) 2021-10-20 19:14:39 +00:00
tests fix: commented out importer test (#691) 2021-10-22 12:20:23 +02:00
testutil/network rpc: restructure JSON-RPC directory and rename server config (#612) 2021-10-01 14:49:22 +00:00
third_party/proto evm: EIP1559 & go-ethereum related updates (#469) 2021-08-25 14:45:51 +00:00
types evm: check height overflow (#597) 2021-09-28 09:48:11 +00:00
version more fixes 2021-04-18 18:39:15 +02:00
x evm: refactor dup state transition code (#674) 2021-10-22 19:21:03 +02:00
.dockerignore build: fix docker setup (#337) 2021-08-04 09:30:13 +00:00
.gitattributes add gitattributes file (#567) 2021-09-16 08:36:08 +00:00
.gitignore build: fix docker setup (#337) 2021-08-04 09:30:13 +00:00
.golangci.yml all: linter (#532) 2021-09-05 11:03:06 +00:00
.goreleaser.yml ci: update goreleaser (#604) 2021-09-29 15:58:39 +02:00
.mergify.yml Mergify: configuration update (#62) 2021-06-03 03:04:47 -04:00
buf.work.yaml evm: EIP1559 & go-ethereum related updates (#469) 2021-08-25 14:45:51 +00:00
CHANGELOG.md evm: refactor dup state transition code (#674) 2021-10-22 19:21:03 +02:00
clang-format tests: add testutils for integration testing (#132) 2021-06-25 05:18:37 -04:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2018-07-17 11:52:20 -04:00
codecov.yml all: linter (#532) 2021-09-05 11:03:06 +00:00
CONTRIBUTING.md doc: duplicated documentation removed (#603) 2021-09-29 10:37:10 +00:00
docker-compose.yml build: fix docker setup (#337) 2021-08-04 09:30:13 +00:00
Dockerfile build: fix docker setup (#337) 2021-08-04 09:30:13 +00:00
go.mod deps: bump IBC-go (#693) 2021-10-22 15:38:52 +02:00
go.sum deps: bump IBC-go (#693) 2021-10-22 15:38:52 +02:00
gometalinter.json Upgrade geth and cleanup 2018-09-28 17:40:58 -04:00
init.bat feat: update chain-id format (#447) 2021-08-17 14:11:26 +00:00
init.sh fix: ibc not working by future block (#497) 2021-08-26 13:31:52 +00:00
LICENSE Initial commit 2018-06-10 14:25:18 +01:00
Makefile fix: commented out importer test (#691) 2021-10-22 12:20:23 +02:00
README.md docs: banner & other (#607) 2021-09-29 18:15:55 +02:00
starport.yml ci: liveness test (#498) 2021-08-26 15:21:43 +00:00

Ethermint

banner

Ethermint is a scalable and interoperable Ethereum library, built on Proof-of-Stake with fast-finality using the Cosmos SDK which runs on top of Tendermint Core consensus engine.

Note: Requires Go 1.17+

Installation

For prerequisites and detailed build instructions please read the Evmos Installation instructions. Once the dependencies are installed, run:

make install

Or check out the latest release.

Quick Start

To learn how the Ethermint works from a high-level perspective, go to the Introduction section from the documentation. You can also check the instructions to Run a Node.

For an example on how Ethermint can be used on any Cosmos-SDK chain, please refer to Evmos.

Community

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

Contributing

Looking for a good place to start contributing? Check out some good first issues.

For additional instructions, standards and style guides, please refer to the Contributing document.

Careers

See our open positions on Cosmos Jobs, Notion, or feel free to reach out via email.