Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Project Idea: Improve nanoeth #15

Open
norswap opened this issue Sep 17, 2021 · 3 comments
Open

Project Idea: Improve nanoeth #15

norswap opened this issue Sep 17, 2021 · 3 comments

Comments

@norswap
Copy link

norswap commented Sep 17, 2021

Hey everyone,

I'm Nicolas and I am in cohort zero (you can find my dev updates here).

As part of my apprenticeship, I started building nanoeth which attempts to be a super simple, super clean, super thoroughly-documented implementation of Ethereum's execution layer (everything that has to do with validating blocks & executing transactions).

There's one month left in my apprenticeship, after which the time available to work on this project will diminish drastically. I intend to keep working on it however - I think it's nice enough that it would be a shame to abandon.

This is where you can help. If you're interested in learning about something, why not implement it in nanoeth as a learning experience? Some ideas:

  • EVM implementation - I intend to start working on this, but I could use some help
  • on-disk storage: running the main chain requires storing state & blocks on disk - many implementations use a key value store (like LevelsDB) for this purpose, but it could be interesting to see what the design space is
  • networking: nanoeth was not intended as a full client, but why not
    • block sync: in particular, the highest value item would be the ability to pull blocks from the network to run them (this is synergistic with the on-disk storage part)
  • geth/... bridge: alternatively, it would be nice to be able to run the chain by getting blocks from another client (local or remote), using the JSON-RPC API

To be clear, if you have the opportunity to help out a team that works on something that is currently being used in the ecosystem, you probably should do that instead. But nanoeth might be an easier environment to try a thing or two, and I'd be happy to assist you if you have any questions.

Cheers, & hoping to hear from some of you!

@pipermerriam pipermerriam changed the title Improve nanoeth Project Idea: Improve nanoeth Sep 26, 2021
@norswap
Copy link
Author

norswap commented Sep 30, 2021

I have updated the project with a few issues, including some tagged "good first issue": https://github.com/norswap/nanoeth/issues

@seroze
Copy link
Contributor

seroze commented Oct 1, 2021

This looks awesome @norswap

@Souptacular
Copy link

Gunna go ahead and spam this issue to some folks :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants