Skip to content

Project Idea: Improve nanoeth #15

@norswap

Description

@norswap

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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions