Skip to content

Grpc stateless gloas - #16943

Merged
james-prysm merged 70 commits into
developfrom
grpc-stateless-gloas
Jun 29, 2026
Merged

Grpc stateless gloas#16943
james-prysm merged 70 commits into
developfrom
grpc-stateless-gloas

Conversation

@james-prysm

@james-prysm james-prysm commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

What type of PR is this?
Feature

What does this PR do? Why is it needed?

introduces the -- stateless flag for grpc and updates grpc to match rest in terms of blinded envelope use for stateful path which is the default.

test configs

# Controlled counterfactual (inverse of gloas-config-nostateless.yml): identical config but with
# --stateless on EVERY validator. If slot 64 reliably fails with
# "could not get post capella payload header: attempted to wrap nil object" here while the
# all-non-stateless run crossed cleanly, --stateless is causal. If it also crosses cleanly, the
# earlier miss was coincidental (parent-state/proposer draw), not the flag.
participants:
  - el_type: ethrex
    el_image: ethpandaops/ethrex:glamsterdam-devnet-4
    el_extra_params:
      - --http.api=eth,net,web3,admin
    cl_type: prysm
    cl_image: gcr.io/offchainlabs/prysm/beacon-chain:latest
    vc_image: gcr.io/offchainlabs/prysm/validator:latest
    supernode: true
    count: 2
    cl_extra_params:
      - --subscribe-all-subnets
      - --verbosity=debug
    vc_extra_params:
      - --verbosity=debug

  - el_type: ethrex
    el_image: ethpandaops/ethrex:glamsterdam-devnet-4
    el_extra_params:
      - --http.api=eth,net,web3,admin
    cl_type: prysm
    cl_image: gcr.io/offchainlabs/prysm/beacon-chain:latest
    vc_image: gcr.io/offchainlabs/prysm/validator:latest
    validator_count: 63
    cl_extra_params:
      - --verbosity=debug
    vc_extra_params:
      - --stateless
      - --verbosity=debug

network_params:
  fulu_fork_epoch: 0
  gloas_fork_epoch: 2
  seconds_per_slot: 6
  genesis_delay: 40

additional_services:
  - dora
  - spamoor

spamoor_params:
  spammers:
    - scenario: eoatx
      config:
        throughput: 10
    - scenario: blobs
      config:
        throughput: 2

global_log_level: debug

Which issues(s) does this PR fix?

Fixes #

Other notes for review

Acknowledgements

  • I have read CONTRIBUTING.md.
  • I have included a uniquely named changelog fragment file.
  • I have added a description with sufficient context for reviewers to understand this PR.
  • I have tested that my changes work as expected and I added a testing plan to the PR description (if applicable).

@syjn99
syjn99 self-requested a review June 23, 2026 05:39
Comment thread beacon-chain/rpc/prysm/v1alpha1/validator/BUILD.bazel Outdated
Comment thread proto/prysm/v1alpha1/gloas.go Outdated
Comment thread beacon-chain/rpc/eth/validator/handlers_block_gloas.go
Comment thread proto/prysm/v1alpha1/beacon_block.proto Outdated
james-prysm and others added 6 commits June 26, 2026 07:16
Resolve conflict in proposer.go from #17040 (split Gloas/pre-Gloas block
production). Move the stateless self-build logic (eagerPayloadStateRoot
threading, envelope capture, inline GloasContents bundling) into the new
buildBlockGloas path, and reconcile storeExecutionPayloadEnvelope's
(envelope, error) signature with its call site.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@syjn99
syjn99 self-requested a review June 29, 2026 14:15
syjn99
syjn99 previously approved these changes Jun 29, 2026

@syjn99 syjn99 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Already had a couple of review rounds, and last commits are more like cosmetic one so LGTM

@james-prysm
james-prysm enabled auto-merge June 29, 2026 15:59
nalepae
nalepae previously approved these changes Jun 29, 2026
@james-prysm
james-prysm added this pull request to the merge queue Jun 29, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jun 29, 2026
@james-prysm
james-prysm enabled auto-merge June 29, 2026 19:24
@james-prysm
james-prysm added this pull request to the merge queue Jun 29, 2026
Merged via the queue into develop with commit 251c0cb Jun 29, 2026
24 checks passed
@james-prysm
james-prysm deleted the grpc-stateless-gloas branch June 29, 2026 22:09
@github-project-automation github-project-automation Bot moved this from Unassigned to Done in Gloas Jun 29, 2026
@james-prysm james-prysm mentioned this pull request Jul 15, 2026
4 tasks
pull Bot pushed a commit to Hawthorne001/prysm that referenced this pull request Jul 17, 2026
**What type of PR is this?**

Feature


**What does this PR do? Why is it needed?**

reverts the blinded envelop introduced in
OffchainLabs#16943 based on discussion and
spec change on beacon api specs.

kurtosis test
```
participants:
  - el_type: ethrex
    el_image: ethpandaops/ethrex:glamsterdam-devnet-5
    el_extra_params:
      - --http.api=eth,net,web3,admin
    cl_type: prysm
    cl_image: gcr.io/offchainlabs/prysm/beacon-chain:latest
    vc_image: gcr.io/offchainlabs/prysm/validator:latest
    supernode: true
    cl_extra_params:
      - --verbosity=debug
    vc_extra_params:
      - --verbosity=debug
    count: 4

network_params:
  fulu_fork_epoch: 0
  gloas_fork_epoch: 1
  seconds_per_slot: 6
  genesis_delay: 30

additional_services:
  - dora
  - tx_fuzz

global_log_level: debug

```

**Which issue(s) does this PR fix?**

implements ethereum/beacon-APIs#624

**Other notes for review**

**Acknowledgements**

- [x] I have read
[CONTRIBUTING.md](https://github.com/prysmaticlabs/prysm/blob/develop/CONTRIBUTING.md).
- [x] I have included a uniquely named [changelog fragment
file](https://github.com/prysmaticlabs/prysm/blob/develop/CONTRIBUTING.md#maintaining-changelogmd).
- [x] I have added a description with sufficient context for reviewers
to understand this PR.
- [x] I have tested that my changes work as expected and I added a
testing plan to the PR description (if applicable).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants