Try   HackMD

Serving Engine API data from the Portal Network: The Plan

This research has a lot of ramifications, and I expect to adjust my course as I dive deeper into it. This makes it hard to define a stable roadmap, but I think I'll have to follow these steps:

  • Stage 1: Get Blocks
    • Understand how MEV infrastructure and other forms of PBS send blocks to validators. (I'll focus on Flashbots' MEV-Boost.)
    • Research how can a Portal Client receive blocks from that infrastructure, and code a prototype allowing Trin to do so.
  • Stage 2: Engine API
    • Research how to serve the Engine API data using the blocks received in the previous stage.
    • Research what Engine API endpoints are necessary for proposing blocks.
    • Prototype the relevant Engine API endpoints on Trin.
  • Stage 3: Testing
    • Research what testing infrastructure is relevant for my prototype. (e.g. Portal hive, Glados, testnets, etc.)
    • Implement all relevant tests.
  • Stage 4: Bonus
    Allowing validators to propose empty blocks is my main goal. But there are other things I want to do if I have enough time / after the EPF:
    • Research how to execute transactions from a portal client using Reth modules (to enable attestations).
    • Implement the remaining Engine API endpoints in Trin.
    • Research how to serve Beacon API data from a Portal client + CL client setup.
    • Research how to switch to non-empty blocks.

I aim to complete steps one to three in weeks eight to sixteen of the EPF. I expect to spend the same amount of time on each step, so, three weeks each.