My focus this week has been on Lighthouse interop testing in preparation for EIP-4844 devnet v3, which was launched a couple of days ago with just one client pair (Prysm/Geth), and we're hoping to to add Lighthouse to the mix very soon (more details in below section).
We've achieved a great milestone this week to have Lighthouse integrated into the eip4844-interop repo and have passed both the blob transction tests and fee market tests! Big shoutout to @Inphi, @realbigsean and the Lighthouse team
Areas I worked on this week:
For next week/year:
https://github.com/Inphi/eip4844-interop/pull/77 (Merged)
PR to add Lighthouse to interop repo was finally merged this morning after a few days of hard work with @realbigsean and @Inphi \o/
Earlier in the week I spent quite a bit of time using the Clion Rust debugger to troubleshoot Lighthouse sync issues, and it was quite fun and rewarding! Although I wasn't able to find out what the root cause was, the Lighthouse team did, and fixed the sync issues in this PR.
I was able to run a local network of 4 Lighthouse/Geth nodes to verify the sync works - by starting 4 nodes, and immediately shutdown one node, then starting that node after 160 slots (to make sure epoch 3, a post merge 4844 epoch is finalized).
After confirming Lighthouse sync works locally, I moved back to the interop testing task I was working earlier, given that Lighthouse was ready for it. The interop repo contains a few important tests for EIP-4844, including a blob tx test, which sends a blob tx to the EL, and download it from mulitple Lighthouse beacon nodes.
With @Inphi's help and a couple of fixes, we finally got Lighthouse passing both the blob transaction tests and fee market tests!
I found it quite challenging to test blobs when I was doing interop testing, as there is no Beacon API available for this. I raised an issue in the Beacon API spec repo, but this hasn't been worked on yet.
So I suggested adding an endpoint to the Beacon API under /lighthouse
, which consists of only non standard endpoints for dev and other purposes. @realbigsean agreed that it would be helpful for debugging, so I went ahead and started implementation.
I've created a draft PR here, and will start testing this soon: https://github.com/sigp/lighthouse/pull/3830
I haven't been able to a Lighthouse/Geth node working yet, as there are still some known issues that are currently being fixed, but I've dropped some notes on running Lighthouse/Geth combo here (credit goes to @realbigsean): https://github.com/jimmygchen/devnet-v3
Hopefully I'll get a node running in the next few days!
..for this year! :) Thanks for reading and have a happy holiday everyone!