Skip to content

Validator rest ptc - #16856

Merged
james-prysm merged 69 commits into
developfrom
validator-rest-ptc
Jun 10, 2026
Merged

Validator rest ptc#16856
james-prysm merged 69 commits into
developfrom
validator-rest-ptc

Conversation

@james-prysm

@james-prysm james-prysm commented May 28, 2026

Copy link
Copy Markdown
Contributor

What type of PR is this?
Feature

What does this PR do? Why is it needed?

hooks up the ptc rest apis to the validator client while in rest mode that is missing them

follow up to #16421

testing

participants:
  # Stateless VC: requests block + envelope inline (include_payload=true) and
  # publishes SignedExecutionPayloadEnvelopeContents (blobs + KZG proofs).
  - 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: 1
    validator_count: 32
    cl_extra_params:
      - --subscribe-all-subnets
      - --verbosity=debug
    vc_extra_params:
      - --enable-beacon-rest-api
      - --stateless
      - --verbosity=debug

  # Stateful VC: BN caches the envelope (include_payload=false) and the VC
  # publishes the spec-wire SignedBlindedExecutionPayloadEnvelope.
  - 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: 1
    validator_count: 32
    cl_extra_params:
      - --subscribe-all-subnets
      - --verbosity=debug
    vc_extra_params:
      - --enable-beacon-rest-api
      - --verbosity=debug

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

additional_services:
  - dora
  - spamoor

# spamoor generates load so payloads are non-empty: eoatx for normal EL txs,
# blobs to exercise the blob/KZG path through the stateless envelope Contents flow.
spamoor_params:
  spammers:
    - scenario: eoatx
      config:
        throughput: 10
    - scenario: blobs
      config:
        throughput: 2

global_log_level: debug

observe if ptcs are being sent/voted on

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

james-prysm and others added 30 commits February 26, 2026 16:07
Resolved all conflicts by preferring develop's duty store types
and patterns. The split endpoint feature from this branch will be
re-added once grpc-split-duties-apis merges into develop.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@james-prysm
james-prysm marked this pull request as ready for review June 9, 2026 16:28
@syjn99
syjn99 self-requested a review June 10, 2026 02:11
syjn99
syjn99 previously approved these changes Jun 10, 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.

LGTM with small nit

Comment thread validator/client/beacon-api/payload_attestation.go Outdated
Co-authored-by: Jun Song <87601811+syjn99@users.noreply.github.com>
@james-prysm
james-prysm enabled auto-merge June 10, 2026 14:33
@james-prysm
james-prysm added this pull request to the merge queue Jun 10, 2026
Merged via the queue into develop with commit 54f7e6d Jun 10, 2026
23 checks passed
@james-prysm
james-prysm deleted the validator-rest-ptc branch June 10, 2026 15:25
@github-project-automation github-project-automation Bot moved this from Unassigned to Done in Gloas Jun 10, 2026
syjn99 added a commit to syjn99/prysm that referenced this pull request Jun 11, 2026
**What type of PR is this?**
Feature

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

hooks up the ptc rest apis to the validator client while in rest mode
that is missing them

follow up to OffchainLabs#16421

testing

```
participants:
  # Stateless VC: requests block + envelope inline (include_payload=true) and
  # publishes SignedExecutionPayloadEnvelopeContents (blobs + KZG proofs).
  - 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: 1
    validator_count: 32
    cl_extra_params:
      - --subscribe-all-subnets
      - --verbosity=debug
    vc_extra_params:
      - --enable-beacon-rest-api
      - --stateless
      - --verbosity=debug

  # Stateful VC: BN caches the envelope (include_payload=false) and the VC
  # publishes the spec-wire SignedBlindedExecutionPayloadEnvelope.
  - 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: 1
    validator_count: 32
    cl_extra_params:
      - --subscribe-all-subnets
      - --verbosity=debug
    vc_extra_params:
      - --enable-beacon-rest-api
      - --verbosity=debug

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

additional_services:
  - dora
  - spamoor

# spamoor generates load so payloads are non-empty: eoatx for normal EL txs,
# blobs to exercise the blob/KZG path through the stateless envelope Contents flow.
spamoor_params:
  spammers:
    - scenario: eoatx
      config:
        throughput: 10
    - scenario: blobs
      config:
        throughput: 2

global_log_level: debug

```

observe if ptcs are being sent/voted on

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

Fixes #

**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).

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Jun Song <87601811+syjn99@users.noreply.github.com>
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.

2 participants