EPF Dev Update #7

A lot of focus has been on project execution this week, and we've made some really good progress!

This is the list of things I've worked on this week, and more details in below sections:

  • Add Lighthouse to eip-4844-interop repo
  • Beacon API & Builder Spec updates for EIP-4844
  • Implement builder updates in Lighthouse
  • Some other small improvements on related projects

Add Lighthouse to eip4844-interop

Pull Requests:

My preivous attempt on this didn't get merged as there were too many moving parts, and Lighthouse wasn't ready for interop back then, but the work wasn't wasted! @realbigsean continued the testing on his branch here, and I've built on his work and created a new Pull Request.

There's been a lot of good progress in the last few weeks by the Lighthouse team on EIP-4844 implementation, and Lighthouse is now close to ready for Devnet V3. @realbigsean has written some instructions to test Lighthouse/Geth pair in this Pull Request here.

I haven't able to get it fully working on the interop repo though - looks like it may be related to how the genesis was generated in my script, there are investigations documented on the PR, and I'll continue to work on this.

Beacon API & Builder Spec updates for EIP-4844

Pull Requests:

We had the initial draft PRs created last week. Then @0xGabi presented our work in the last EIP-4844 Implementers Call #8 to raise awareness and get feedback from implementers. He's also created a nice summary on this HackMD page. We've reived some good and constructive feedback from @ralexstokes since then, and I think we're now close to getting these merged!

The PRs are getting quite big now as they includes both Capella and EIP-4844 changes, so I've also created a separate issue to add a blob download endpoint to Beacon API here:
https://github.com/ethereum/beacon-APIs/issues/282

Smaller pull requests next time!

Implement builder updates in Lighthouse

Pull Requests:

With the Builder Spec updates getting close to ready, I've started the implementation in Lighthouse, and have created a draft PR (link above) with @realbigsean's help.

I initially thought it was going to be a small change, but realised there's a lot more than just adding a new field

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
I had to learn about the different data structures and how to define them using SuperStruct, as well as how to serialize / derialize them with the Rust Serde framework, and then of course - there's still a lot to learn about memory management in Rust.

The following resources have been useful: