SSZ Engine API #001
Transcript
Ask about this call
Answered from this call's summary and transcript only.
AI-generated — verify against the recording.
Call summary
Targets
- •SSZ Engine API enabled on Glamsterdam devnets — as soon as clients default-enable and negotiate — 00:29:50
Decisions
- •Both JSON-RPC and SSZ Engine API endpoints to coexist; no coordinated rollout required — 00:13:39
- •SSZ Engine API made mandatory at Hegota; optional with flag until then — 00:16:27
- •newPayloadWithWitness unified path adopted as default; fork segment removed from URL — 00:22:43
- •Keep current SSZ types (no EIP-7688 stable containers) for now; reconsider once 7688 is SFI'd — 00:33:23
- •Breakout call cadence set to bi-weekly — 00:41:56
Highlights
- Organizational:
- ·SSZ Engine API breakout cadence changed from weekly to bi-weekly; next call TBD — 00:41:56
- Testing And Devnets:
- ·SSZ static test vectors for Engine API containers drafted; full random values for now, hypothesis-based valid-value tests to follow — 00:24:04
- ·No dedicated devnet needed; SSZ Engine API to be added to Glamsterdam devnets once clients are ready with default-enabled negotiation — 00:29:46
- Ssz Engine Api Status:
- ·Consensus: keep JSON-RPC and SSZ channels open simultaneously; clients roll out on own schedule with optional flag — 00:13:39
- ·Prysm already implements SSZ Engine API with JSON-RPC fallback; Erigon interop confirmed working; ethrex and Nethermind also ready — 00:14:47
- ·SSZ Engine API to be made mandatory at Hegota; transition window between Glamsterdam and Hegota — 00:16:27
- ·newPayloadWithWitness path to be unified under /engine/v{1|2}/{fork}/payloads/witness as POST call; fork to be moved out of URL — 00:20:23
- Stable Containers 7688:
- ·EIP-7688 stable containers/progressive lists: agreed to keep current types for now and revisit after 7688 is SFI'd — 00:30:44
- ·Dustin notes progressive lists avoid arbitrary limit mismatches that force new API versions; risk of '7688 too late' pattern flagged — 00:35:41
Action Items
- •Marius / spec maintainers — Update execution-apis PR #793 (single source of truth for SSZ Engine API spec) with decisions from this call — 00:39:07
- •CL/EL teams — Discuss Jacek's top-up sync semantic change requests on PR #793 in a future call — 00:39:51
Meeting chat76
- Tamaghna Chourdhuri
https://github.com/ethereum/pm/issues/2132#issuecomment-4807547691
- Jun Song
gm
- Justin Traglia
Gm!
- Soubhik
gm!
- Barnabas
Friday call 💀
- Tamaghna Chourdhuri
gm
- Justin Traglia
Reacted to "Friday call 💀" with 😄
- Sameer Agarwal
gm
- Tamaghna Chourdhuri
Reacted to "Friday call 💀" with ☠️
- Rimeeeeee
gm :)
- Tamaghna Chourdhuri
- Jun Song
Are we recording this meeting?
- Justin Traglia
Replying to "Are we recording thi..." Yes it is recording.
- Jun Song
Reacted to "Yes it is recording." with 👍
- Soubhik
Reacted to "Yes it is recording." with 👍
- Iván | ethrex
Sorry I have bad connection. We took a look at the spec and have a current implementation of it https://github.com/lambdaclass/ethrex/pull/6770
- Tamaghna Chourdhuri
Moving from engine/v2/ down to engine/v1/
- Jun Song
I support for /eth/v1/engine/XYZ
- Barnabas
Replying to "Sorry I have bad con..." do client teams enable ssz default if both sides support it?
- Barnabas
Replying to "Sorry I have bad con..." or everyone needs a flag?
- Tamaghna Chourdhuri
https://github.com/ethereum/execution-apis/pull/793#discussion_r3435464266
- Lucas | ethrex
Replying to "Sorry I have bad con..." ethrex always accepts it, prysm needs a flag
- Soubhik
for now reth needs a flag to enable the ssz, this acts like a wrapper over the existing engine api
- Łukasz Rozmej
IMO this is temporary
- Łukasz Rozmej
we can make it mandatory in Hegota
- Soubhik
Reacted to "we can make it mandatory in Hegota" with 👍
- Justin Traglia
Reacted to "we can make it manda..." with 👍
- Jun Song
Yeah I also think we should have a transition window btw G-fork and H-fork and mandate this in h-fork
- Jun Song
Yeah it’s orthogonal to fork schedule TBH
- Iván | ethrex
Reacted to "we can make it mandatory in Hegota" with 👍
- Dustin
Reacted to "we can make it man..." with 👍
- Tamaghna Chourdhuri
https://github.com/ethereum/execution-apis/pull/793#discussion_r3435225563
- Tamaghna Chourdhuri
- Developer Uche
https://github.com/ethereum/execution-apis/pull/773#issuecomment-4799078539
- Łukasz Rozmej
this is a POST call
- Tamaghna Chourdhuri
/engine/v2/{fork}/payloads/witness
- Soubhik
arent we getting rid of the fork in the url?
- Jun Song
Replying to "arent we getting rid..." I guess yes
- Tamaghna Chourdhuri
Replying to "arent we getting rid..." yes
- Soubhik
Reacted to "I guess yes" with 👍
- Soubhik
Reacted to "yes" with 👍
- Tamaghna Chourdhuri
https://drive.google.com/drive/folders/1_aZhpnfQZFEXZAtZy4sFWtanIleZIy3x?usp=drive_link
- Soubhik
are you doing full random values? or values that would be a valid container?
- Iván | ethrex
We are also ready. We have some micro benchmarks and we are currently running ones in mainnet with prysm
- Łukasz Rozmej
Try Nethermind please!
- Jun Song
Reacted to "Try Nethermind please!" with 👍
- Jun Song
Reacted to "We are also ready. We have some micro benchmarks and we are currently running ones in mainnet with prysm" with 👍
- Soubhik
I think the problem is on my side
- Soubhik
i will do more testing and let you guys know
- Barnabas
we don’t need a dedicated devnet for this
- Jun Song
Reacted to "we don’t need a dedicated devnet for this" with 👍
- Tamaghna Chourdhuri
Reacted to "we don’t need a dedi..." with 👍
- Barnabas
We can just add this to glam devnets
- Justin Traglia
Reacted to "we don’t need a dedi..." with 👍
- Barnabas
as soon as clients are ready
- Soubhik
Reacted to "we don’t need a dedicated devnet for this" with 👍
- Dustin
Reacted to "we don’t need a d..." with 👍
- Barnabas
I’m happy to enable whatever flags you need, but I’d prefer if all clients would just default enable and negotiate
- Jun Song
For prysm, it’s opt-in feature with a single flag in my local branch. But I think it should take few days to merge in devnet branch
- Dustin
it's in https://notes.ethereum.org/@ethpandaops/glamsterdam-devnet-7
- Dustin
As long as it doesn't become a point of, 7688 was a fine idea but too late, sorry
- Dustin
this has happened to other EIPs
- Barnabas
could someone pls give me a quick tldr on why progressive lists would help here?
- Tamaghna Chourdhuri
https://github.com/ethereum/execution-apis/pull/793#issuecomment-4454204579
- Tamaghna Chourdhuri
This one right?
- Dustin
Replying to "https://github.com..." yes
- Iván | ethrex
Works for me!
- Tamaghna Chourdhuri
weekly
- Tamaghna Chourdhuri
biweekly
- Jun Song
Reacted to "biweekly" with 👍
- Soubhik
Reacted to "biweekly" with 👍
- Dustin
Reacted to "biweekly" with 👍
- Barnabas
Reacted to "biweekly" with 👍
- Iván | ethrex
Reacted to "biweekly" with 👍
- Sameer Agarwal
Reacted to "biweekly" with 👍
- Justin Traglia
Reacted to "biweekly" with 👍
Key decisions
Both JSON-RPC and SSZ Engine API endpoints to coexist; no coordinated rollout required
clients roll out on own schedule with optional flagSSZ Engine API made mandatory at Hegota; optional with flag until then
HegotanewPayloadWithWitness unified path adopted as default; fork segment removed from URL
Keep current SSZ types (no EIP-7688 stable containers) for now; reconsider once 7688 is SFI'd
risk of '7688 too late' pattern flaggedBreakout call cadence set to bi-weekly

