-
Notifications
You must be signed in to change notification settings - Fork 48
Description
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!