# 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.