SSZ Engine API #003
Transcript
- Jun Song
gm
- Tamaghna Chourdhuri
gmgm
- Tamaghna Chourdhuri
Ig we can wait 2 more mins and then start
- Justin Traglia
Reacted to "Ig we can wait 2 mor..." with 👍
- Tamaghna Chourdhuri
- Tamaghna Chourdhuri
- Justin Traglia
Can you tell them that I won't be able to make it pls. — Marius
- Tamaghna Chourdhuri
Reacted to "Can you tell them th..." with 😃
- Justin Traglia
Replying to "Can you tell them th..." To this call, that is.
- FLCL (Nethermind)
we need like 4 methods?
- Tamaghna Chourdhuri
- eth_syncing - eth_getBlockByNumber - eth_getBlockByHash - eth_chainId
- Jun Song
[Prysm] eth_getBlockByNumber eth_getBlockByHash eth_chainId
- FLCL (Nethermind)
it will not require jwt in ssz path, right?
- Jun Song
Replying to "[Prysm] eth_getBlock..." But I’m not against for adding eth_syncing
- Sameer Agarwal
Lighthouse eth_syncing eth_getBlockByNumber
- FLCL (Nethermind)
what was the question?
- Dustin
Protocol: both HTTP/2 and HTTP/1.1 MUST be supported, with HTTP/2 preferred. Both TCP and IPC transports use cleartext(h2c for HTTP/2); JWT-on-every-request provides authentication, so TLS termination is left to a reverse proxy if the operator wants it. Servers and CLs SHOULD negotiate HTTP/2 where available(ALPN over TLS, or the HTTP/2 prior-knowledge / h2c upgrade over cleartext) and fall back to HTTP/1.1 only when the peer does not speak h2. HTTP/2 multiplexing lets a single CL→EL connection carry the full request mix (forkchoice, payload submission, blob fetches, body fetches) without head-of-line blocking; on HTTP/1.1 that benefit is lost (requests serialise per connection, or the CL opens several connections), but the API is otherwise identical — same paths, headers, bodies, and status codes. CLs that fall back to HTTP/1.1 SHOULD use connection pooling to recover some concurrency.
- FLCL (Nethermind)
It might be cool to setup benchmarks, so we can measure it
- Jun Song
Reacted to "It might be cool to setup benchmarks, so we can measure it" with 👍
- Sameer Agarwal
Replying to "It might be cool to ..." Agreed
- Tamaghna Chourdhuri
Reacted to "It might be cool to ..." with 👍
- Dustin
Reacted to "It might be cool t..." with 👍
- Dustin
#ssz ?
- Jun Song
Replying to "It might be cool to ..." +1
- Tamaghna Chourdhuri
Replying to "#ssz ?" Yeah seems good for it to be in ssz and cross-posted to boost visibility
- Dustin
Replying to "#ssz ?" ok
- FLCL (Nethermind)
Reacted to "#ssz ?" with 👍
- Jun Song
Reacted to "#ssz ?" with 👍
- Dustin
https://discord.com/channels/595666850260713488/1295427781722898505/1530202427104690327
- Dustin
- Jun Song
Reacted to "https://hackmd.io/siEIwl9QTlODSZ6DYH3iqg" with 👍
- Jun Song
that’s interesting
- Tamaghna Chourdhuri
Yeah this does show why it would be good to have it as it already demonstrates that the idea is solid and useful
- Dustin
works for me
- Jun Song
sg
Call summary
Decisions
- •Provisional minimal non-engine method list for engine port: eth_syncing, eth_getBlockByNumber, eth_getBlockByHash, eth_chainId — to be finalized in a future call after remaining client input - 00:11:32
Highlights
- Top Up Sync:
- ·Top-up sync direction discussed: whether to formalize as EIP + PFI, or simply add the engine endpoint; no decision reached - 00:09:09
- ·Core question: endpoint should expose whether EL has state (not just blocks) at a given block number; security model differs without state - 00:23:13
- ·Real-world validation: Nimbus EL bug on devnet 7 (no peers) resolved because Teku fed blocks in order — accidental demonstration of top-up sync value - 00:25:05
- Http2 Vs Http1:
- ·HTTP/2 required in SSZ Engine API spec for head-of-line blocking avoidance; Nimbus libraries do not currently support HTTP/2 - 00:11:55
- ·Dustin questions whether HTTP/2 benefit is empirically validated for Engine API's inherently serial, stateful request pattern vs. web browser use case - 00:17:45
- ·Consensus: benchmark HTTP/2 vs HTTP/1.1 for Engine API workload before mandating HTTP/2; raise in #ssz channel - 00:18:26
- Organizational:
- ·Call time proposed to move ~4–6 hours earlier to accommodate EU/Asia participants and allow Marius to join - 00:28:51
- Ssz Engine Api Updates:
- ·SSZ model being added to existing execution fixtures; hash verification to confirm no regressions before release - 00:08:14
- ·Minimal list of non-engine methods to expose on engine port emerging: eth_syncing, eth_getBlockByNumber, eth_getBlockByHash, eth_chainId (Prysm omits eth_syncing but not opposed; Lighthouse adds eth_syncing + eth_getBlockByNumber; Nimbus adds eth_chainId + eth_syncing) - 00:10:36
Action Items
- •All teams (Nethermind volunteered; Tamaghna to coordinate if no one picks it up) - Run HTTP/2 vs HTTP/1.1 benchmarks for Engine API workload and post results to #ssz channel - 00:19:15
- •Tamaghna Chourdhuri - Poll Marius and attendees for better call time; move recurring slot ~4–6 hours earlier - 00:29:43
Key decisions
Provisional minimal non-engine method list for engine port: eth_syncing, eth_getBlockByNumber, eth_getBlockByHash, eth_chainId — to be finalized in a future call after remaining client input
The list of non-engine methods to expose on the engine port was provisionally agreed upon.
AI Disclaimer: Some content or metadata on EIPsInsight may be AI-inferred or automatically compiled. If you find any discrepancy, please contact us at dev@avarch.org.

