cb96bc4ea3
* add PendingBlockNumber -1 * increase block times * update bn * get pending balance * additional logic to check for pending state * add multiple balance query * pending state for getTransactionCount * fix lint * add getBlockTransactionCountByNumber code - commented * cleanup test * GetBlockTransactionCountByNumber * cleanup * getBlockByNumber * GetTransactionByBlockNumberAndIndex * conform to namespace changes * exportable FormatBlock method * eth_getTransactionByHash * eth_getTransactionByBlockNumberAndIndex * pending nonce * set nonce for pending and check for invalid * WIP: doCall * add pending tx test * cleanup + refactor * push first tests and init pending * pending changes (#600) * cleanup * updates * more fixes * lint * update call and send * comments and minor changes * add pending tests into sep package * fix latest case for eth_GetBlockTransactionCountByNumber * fix repeating null transactions in queue * remove repeated structs * latestblock case * revert init script back * fix to exportable method * automate pending tests; add make cmd * move and comment out pending call test * fix some golint * fix unlock issue * wip: linter stringer fix? * stringer lint * set arr instead of append * instantiate with length * sep if statement * edit pendingblocknumber note * switch statement * fix and update tests * move tests-pending into tests dir * remove commented test * revert to appending pendingtx * Update tests/utils.go Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update tests/utils.go Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update tests/utils.go Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * require no err * rename var * check result for eth_sendTransaction * update changelog * update * Update tests/utils.go Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update tests/tests-pending/rpc_pending_test.go Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * changelog * remove redundant check Co-authored-by: noot <elizabethjbinks@gmail.com> Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com> Co-authored-by: Federico Kunze <federico.kunze94@gmail.com> |
||
---|---|---|
.github | ||
app | ||
client | ||
cmd | ||
codec | ||
core | ||
crypto | ||
docs | ||
importer | ||
networks/local | ||
rpc | ||
scripts | ||
tests | ||
tests-solidity | ||
types | ||
utils | ||
x | ||
.gitignore | ||
.golangci.yml | ||
.mergify.yml | ||
buf.yaml | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
codecov.yml | ||
CONTRIBUTING.md | ||
docker-compose.yml | ||
Dockerfile | ||
go.mod | ||
go.sum | ||
gometalinter.json | ||
init.sh | ||
LICENSE | ||
Makefile | ||
README.md |
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: