Last week, I created Lighthouse&Reth manual node setup instructions. I've tried following the existing instructions before, but these clients have to be launched in a different way than the already tested Teku&Geth. I went through the documantations, the built-in help of clients and also through code, because I did not understand some of the options and had to investigate some of the functionality directly, the code is luckily often described in comments. This research helped me to understand even better what are the inputs and the outputs of clients and how everything works under the hood. The PR included the new instructions and also some small fixes that hopefully made the other two existing instructions a bit clearer.
With the newly gained knowledge, I decided to go through the EIP specs once again. This time, I understand what I'm actually trying to do a bit more and can visualize how can the whole process of genesis generation look. I've been working on a "mindmap" that helps me in sorting out the thoughts before starting with the implementation.
This week, Lighthouse released a new version that includes the Holesky testnet implementation. I've been going through the changed code, which helped me understand where the code for the included testnets is and how it looks like. I've been referencing to the Rust By Example documentation, which helps me to understand some of the more complex or unusual code, as I still am a Rust beginner. For now, I figured out that some of the most relevant folders for the genesis implementation would be common/eth2_config and common/eth2_network_config, so I will start with these and figure out the rest in the process.
I managed to add the testnet to the predefined networks, but without the automatic genesis functionality, a manual change of the genesis state and other configuration files is still necessary. I still haven't done it, but I'm probably going to test it and push it to my fork or create a PR with the changes for anyone who wants to try for now.
As I am traveling for a few days of the following week, I won't be able to do much implementation-wise, but I'm still going to go through the Lighthouse and Reth source code, try to understand any Rust specialties I'm still not 100% confident with and further work on the mindmap I talked about earlier in this update, which I'll share as my Week 8 Update (instead of combining two updates, I'm not a big fan of that). That's all, bye for now!