nanoeth icon indicating copy to clipboard operation
nanoeth copied to clipboard

attempting to be the cleanest & clearest implementation of Ethereum's execution layer

Results 7 nanoeth issues
Sort by recently updated
recently updated
newest added

(For essentially context on Merkle/Patricia tree in nanoeth, [read here](https://github.com/norswap/nanoeth/blob/master/src/com/norswap/nanoeth/trees/patricia/README.md).) Currently, the Merkle tree implementation assumes, when performing insertion, that Merkle trees are "complete", i.e. that we have all the...

blocked

As [explained here](https://github.com/norswap/nanoeth/blob/master/src/com/norswap/nanoeth/trees/patricia/README.md#optimized-usage), while running transactions we ideally write state change to a cache (a hashmap), then we batch-insert all transactions into the tree. This batch insertion logic needs to...

[EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) introduces the separation between base fee and miner tip. The [transaction format](https://github.com/norswap/nanoeth/blob/master/src/com/norswap/nanoeth/transactions/UnsignedTransaction.java) already accounts for this separation, but we currently do not validate the base fee value in the...

There are a few things that should be added to transaction tests, for completeness' sake: - testing chain IDs of 0 and very high chain IDs - testing [EIP-2930](https://eips.ethereum.org/EIPS/eip-2930) transactions...

good first issue
test

Currently, we only test that we are able to prove valid Merkle proofs. For completeness we should also generate invalid Merkle proofs, and test that we fail to prove them....

good first issue
test

Most of the tests run for nanoeth are against data from the shared tests of the [ethereum/tests repo](https://github.com/ethereum/tests). We are currently compatible with release [9.0.5](https://github.com/ethereum/tests/releases/tag/9.0.5), but [release 10](https://github.com/ethereum/tests/releases/tag/v10.0) came out,...

test

Javadoc supports adding package-level documentation, by adding it in a `package-info.java` file in the package. See [this link](https://www.baeldung.com/java-package-info) to see what that looks like. Currently, there is a lot of...

help wanted