arredr2

@arredr2

Joined on May 22, 2024

  • I'm becoming more comfortable working with CLI and Git. I forked and downloaded copies of ethereum.org, EPF and Grandine repos so I can also continue to get more comfortable working with my IDE (using Visual Studio Code). It does make things much easier! I realize I watched the ETHGlobal Engineering Lead do this for me for ETHGlobal's repos when I worked there. It didn't make any sense to me back then but it certainly does now when I'm the one having to do it. Best way to learn something is to do it yourself right? I previously mentioned that Grandine is not listed anywhere on ethereum.org. I submitted a PR to get it added across several pages: - Nodes and clients - Client diversity - Ethereum Support - Adding staking products or services - Spin up your own Ethereum Node
     Like  Bookmark
  • I'm back! My brother got married and the family traveled for the wedding so I took some time off. It was a nice break to unplug and was much needed. Catching up on a lot of work now. :) Key events for the past few weeks: Read chapters 20 and 21 of Code Caught up on Discord Figured out what I need to do for Grandine documentation Listened to ACDC Meeting #138 and ACDE Meeting #193
     Like  Bookmark
  • This week has again been more focused on the fundamentals. I started reading Code on a more consistent basis. I just need a few more chapters before I finish it. Code has been extremely helpful for me in understanding not only hardware but also software. I like that electrical engineering concepts are used throughout as well. If I had this during my undergrad, it would have made my studies so much easier. Thanks again Rahul for the recommendation! For anybody that is just starting out in their dev journey, I highly recommend this book to help wrap your head around what is to come. Other key events for the week: Attended ePBS Office Hours with Potuz from Prysm Listened to ACDE Meeting #191 Attended weekly Grandine Discord Catch Up call with Saulius Read Complete Intro to Linux and CLI - DONE
     Like  Bookmark
  • This week wasn't my most productive. I was sick and life got in the way. So I have a lot of catching up to do this week. And I did take a little step back since I consider myself a fairly new dev. I have done some further foundational work to make sure I understand the basics and I read The Linux Command Line for Beginners that was part of EPFsg Week 5 Node Workshop Prerequisite materials. I also began rewatching the Node Workshop as I begin to dig further into pairing clients and testing. I realize I never finished this workshop during EPFsg and it will be very valuable for me this week. In week 2 I ran into a blocker building Grandine, but I managed to build Grandine this week. I just needed to clone the eth2_libp2p and dedicated_executor repos, as I suspected :) I find myself becoming more comfortable with this which is good. Screenshot 2024-06-29 at 14.27.45 Other key events for the week: Attended Office Hours with Advaita and Agnish from Nimbus Couldn't make Grandine catchup on Thursday as I was sick.
     Like  Bookmark
  • This week I mostly focused on reading up on the Consensus Layer (CL). I did not have much of an understanding of the CL before EPF5. During the EPS I mostly focused on the Execution Layer. Since I took an interest in Grandine, it made sense to read up on the CL. I also began learning Rust! Apart from some TypeScript I did at ETHGlobal, this will be the first language I really learn. It's going to be a long journey. I managed to read a significant amount, however, I didn't cover some specifics that I need to carry over to this week. I will spend more time in the Grandine and Consensus Specs Githubs too. 17 June Task list: Read anything I need a refresher on from Suggested Reading list - In Progress Watch Ethereum's Proof of Stake consensus explained - DONE (but need to rewatch again and again) The following I'm reading to get a better understanding of devp2p and libp2p:Read libp2p & Ethereum (the Merge) - DONE Read devp2p - DONE
     Like  Bookmark
  • This was my final week working at ETHGlobal so I spent the majority of my time focused on that and handing off responsibilities to my former colleagues. I did not get a chance to dedicate any time to EPF5 until the weekend. But this is when everything starts to exponentially accelerate for me! I was reading through the Project Ideas list and began taking an interest in Grandine. I noticed their request for help with "E2E testing - improve Hive and Kurtosis test infrastructure", which is something I indicated interest in earlier on. Grandine is also built in Rust, which is a low level language I plan to learn over the next five months. Working with Grandine is also appealing because of how new they are as a Consensus Layer (CL) client so it would really feel like working from the ground up. I started scrolling through Saulius' twitter feed to begin gaining an understanding of who he is and what Grandine is all about. This was a useful exercise as I came across several good reads/listens: Saulius interview with Pooja Ranjan from the Ethereum Cat Herders PEEPanEIP session is a must listen to get a sense of history around Grandine. Grandine's Medium blog has several recent posts that again are worth reading for context. Also worth keeping an eye on this for future updates. I joined the Grandine Discord server and Telegram channel and introduced myself in the Discord server, to which Saulius responded!
     Like 1 Bookmark
  • Background I want to explain how Ethereum testing works. Testing in general is a critical component of ensuring the Ethereum protocol stays up and running and avoids any network forks. As Ethereum evolves, there are various upgrades to consider. At the time of writing, the next upgrade coming is the Pectra fork. Of course before going live, client teams and core devs need to do a thorough job of testing the protocol, looking at every possible use case and scenario to minimize any impact on end users and ensure security and stability. There are multiple tests that can be conducted for execution layer testing and how it ensures an Ethereum Execution Client is adhering to set specifications. A recent Testing presentation for the EPF study group has a quote from one slide that I think summarizes the purpose of execution layer testing: “All clients must produce the same output when given the same input in the form of a single or multiple transactions, an environment, a pre-state, and hard-fork activation rules.” The pre-state is where smart contracts, balances, code and storage exist. To mimic real life situations, the pre-state has to have the intention of doing something worthwhile or interesting, otherwise why else would a test be needed for the situation? The environment will look at specific items such as the timestamp, prev-randao, block number, total gas limit and base fee. This is dependent on what type of test you plan to conduct.
     Like 1 Bookmark
  • Hello there! I am excited to begin this next step in my Ethereum journey. I have spent the past several months participating in the Ethereum Protocol Fellowship study group (EPFsg) as a way to bridge my knowledge gap around the Ethereum protocol. During this time, I became more interested in the Testing space. I attribute this to my previous banking and hedge fund experience working in risk and compliance. For several years I performed monitoring and testing work on key company processes, investment strategies, our trading desks, banking regulations and more. In short, I was making sure we weren't breaking any laws or putting the companies at risk. Apart from my previous work experience, the Testing space appeals to me because I think it exposes you to many different teams and can give you a very good knowledge base to work from and build on top of. I also get the feeling it isn't as "sexy" as the other areas, but to me that means it is very important! I've begun reading up on the different Testing types (see below) and I am trying to gain a better sense for how they can be improved. One of the project ideas from the EPF4 Cohort was Improving Hive for end-to-end testing. This was not an EPF4 project that a Fellow worked on so I saw it as an opportunity to start digging in and use as my technical question answer to the EPF5 application. I still have a lot to read and understand before I feel confident enough to submit my application, but this is a good start.
     Like  Bookmark