Try   HackMD

EPF Report: Weeks 4 & 5 - Delving Deeper into Ethereum's Foundations

Table of Contents

Abstract

The intricate workings of the Ethereum machine present both a formidable challenge and a riveting learning experience. A deep comprehension of its mechanisms is essential for the successful development of the Ethereum Elixir Consensus Client.

Delving into Ethereum's Core

Effective comprehension requires both theoretical learning and hands-on experience. Implementing the Ethereum protocol has proven to be an enlightening method to grasp its core concepts. Through repeated study and practical application, I have gained more understanding of the rationale and intricacies behind the protocol's design.

My exploration of Ethereum's underpinnings revealed fascinating insights into its core mechanics. A variety of resources, including blogs, YouTube videos, and specification documents, have facilitated this journey. Notably:

These resources have been instrumental in providing a comprehensive understanding of the Ethereum protocol.

Starting the Elixir engine

Having acquired proficiency in the Elixir language in the preceding weeks, I am now poised to integrate my newfound understanding of the Ethereum protocol with Elixir. My initial pull requests (PRs) have centered around the foundational elements of a consensus client, encompassing:

  • Consensus layer Types
  • Simple Serialization/Deserialization
  • Snappy Compression/Decompression
  • Inter-client Communication (EL <> CL)
  • Beacon API

Subsequent to establishing the necessary basic types, we initiated a broader range of issues related to communication and testing, leveraging our capability to decompress and deserialize the tests.

My next step will be to develop test runners that will ensure the functionality of our internal operations. Given the critical importance of Ethereum's reliability, it's paramount that we comprehensively test across a broad spectrum of scenarios and use cases.

Reference Materials