Hello everyone, I got accepted for the **Ethereum Protocol Fellowship** for the *cohort 4*. I will be posting weekly updates about my progress in the fellowship. This is the zero/pre week of the fellowship and I will be posting my weekly updates, regulary over here.
\
I plan to work in the fellowship full-time. The kick-off meeting is scheduled at Jul 13th, 2023, 15:00 UTC
# Getting to know the EPF program
I explored the cohort-4 [repo](https://github.com/eth-protocol-fellows/cohort-four), and got to know about the program details and how everything will be going forward. I also got to know about the mentors and the other fellows who will be working along with me in the program. Looking forward to the kickc-off meeting for further details.
I also started to explore the listed project ideas I can work one. And after exploring a bit I spent my time looking more into the following ideas:
- API for calculating ETH supply by Tim Beiko
- ERC-4337 Tooling support
- Verkle tree other stuff from the Nimbus team by Zahary
- JSON-RPC improvements by Lightclient team
Well still I haven't finalized what I will work on, but I am spending my time on researching on these specific topics and learning more about them and core protocol implementations.
# Leanring & Research
I spent my time learning about the `go-ethereum` implementation. The life of transaction inside the go-ethereum implementation. I was constantly going the ethereum yellowpaper along side with it.
1. [Yellow Paper Walk-through](https://www.youtube.com/watch?v=e84V1MxRlYs)
2. [Ethereum Yellow Paper](https://ethereum.github.io/yellowpaper/paper.pdf) ( the cheat-sheet really helped )
3. [Ethereum Yellow Paper Cheat Sheet](https://github.com/benjaminion/YellowPaper_CheatSheet/blob/master/YPCheatSheet.pdf)
4. [The life of a transaction in go-ethereum](https://www.youtube.com/watch?v=c4N79UXZqSc)
5. [Go Ethereum Book](https://goethereumbook.org/en/)
Further I am very much interested in Verkle trees and zero-knowledge proofs. I did find some verkle tree projects, which I will be exploring further. And see if I can find something i the zero-knowledge proof space.
I also found the **bloom filter** quite interesting. Bloom filters in Ethereum are probabilistic data structures used for efficient membership checks in large datasets. They provide a compact representation of a set of elements, allowing for fast and space-efficient checks of whether an element is a member of the set. Bloom filters in Ethereum are commonly used to optimize certain operations, such as verifying account or contract existence, without needing to access the complete dataset.
\
I will be exploring this more, as I could not find much resources on this, so still working on it.
\
\
Also I am learning **Nim** programming language, as I might be working on the Nimbus implementation. I am learning it from the [Nim in Action](/assets/books/nim-in-action.pdf) book. I am also exploring the [Nim documentation](https://nim-lang.org/documentation.html) and the [Nim by Example](https://nim-by-example.github.io/) book.
\
And for the rust refresher I am referenceing the book [Rust Servers, Services, and Apps](/assets/books/Rust-Servers-Services-and-Apps.pdf)
# Further Plans for this week
- Have a deep dive into the different Verkle Tree implementions.
- Learn Nim and explore the Nimbus implementation.
- Explore the `go-ethereum` implementation further.
- I have used rust before, still will take a kind of refreser project on it for a day.
- Explore chalenges in calculating ETH supply.