During this EPF I learnt and worked on the Rust Ethereum ecosystem. I started with the idea of contributing to Reth, the new Ethereum execution client built in a open source way by the Paradigm team.
In the beginning I started taking lots of small issues available in the official GitHub repository in order to learn the code, how it was structured and overall gain confidence with it. I ended up doing 16 total commits and I’m now in the top20 contributors of Reth.
In the meanwhile I started digging into Revm: the Rust EVM Reth uses. After reading all the code I decided to try and implement the EIP-7212 P256VERIFY
precompile inside of Revm. It was a great experience that gave me the opportunity to really go deep inside how the EVM works and interacts with the Ethereum state.
Since I completed the P256VERIFY
precompile a lot earlier than what I initially have thought, I had more than a month left and that was the moment when Georgios (CTO of Paradigm) suggested me to work on a new bigger issue: creating a reth-crawler
using Reth p2p stack in order to be able to replicate what ethernodes already does but in a open source way (also ethernodes is quite outdated).
To summarize:
Here you can see my list of contributions to Reth
Revm P256VERIFY
precompile
reth-crawler
I’ll mainly focus on the reth-crawler project since it’s the bigger one.
I’m very satisfied by what I learnt and contributed to Reth during this EPF. Every issue was a way to learn new things about an Ethereum execution node and more generally a way to become a better Rust and Ethereum dev.
P256VERIFY
PrecompileThis project is fully finished and available for everyone to see and test it.
P256VERIFY
precompile inside Revm.reth-crawler is fully functional and deployed to production. Here is the official website: