This week has been really amazing for me! I made my first PRs to the Reth code base and they got merged:
They were quite easy issues but for me it was very important to get started somehow and become more confident with the code and how it is structured. I worked on these two issues relative to the cli and some of its components.
I am also working on other open issues and right now I have other two open PRs that are waiting for reviews:
I studied the clap
crate that Reth uses to easily parse commands and arguments from command line, the tokio
crate to handle asynchronously tasks and also a bit of database theory (and practice). In particular Reth uses libmdbx
database which is a very fast and efficient key-value database.
Of course I have a docs page for all this new arguments I find during my journey:
Since the database part was not very clear and I could not find helpful and well commented materials online about libmdbx
I decided to create a little example project to get better at it. It’s a very simple software that lets a user creates some text notes and saves them in a database. I use rocksdb
just because I found better documentation about it and it has lots of things in common (they both are key-value based databases). The fun fact is that I had to use also the clap
crate to have an easy to use command line parser, and it was very easy since I already studied it for Reth.
Here you can find the repo if you wanna have a look: https://github.com/alessandromazza98/rocksdb-example
I do not have a full and complete project proposal right now and I think I’m gonna complete it by the end of next week. But I’m 100% sure I want to become a core contributor of Reth execution client. In particular for this EPF project it would be cool to choose an area of focus and help the Reth team there.
This week I got in touch with the Reth team (gakonst, CTO of Paradigm and also a mentor for EPF is on holidays right now but I got in touch with Roman Krasiuk from the Reth team). He will come back to me at the beginning of next week because he has to talk with the team so that we can choose a good project that is both useful for them and for me (for the EPF project).