Skip to content

Add execution_payload_gossip event topic support - #16893

Merged
nalepae merged 1 commit into
OffchainLabs:developfrom
syjn99:feat/execution-payload-gossip-event
Jun 4, 2026
Merged

Add execution_payload_gossip event topic support#16893
nalepae merged 1 commit into
OffchainLabs:developfrom
syjn99:feat/execution-payload-gossip-event

Conversation

@syjn99

@syjn99 syjn99 commented Jun 4, 2026

Copy link
Copy Markdown
Member

What type of PR is this?

Feature

What does this PR do? Why is it needed?

Adds event emission for execution_payload_gossip as per ethereum/beacon-APIs#588.

Which issues(s) does this PR fix?

N/A

Other notes for review

if s.cfg.operationNotifier != nil {
s.cfg.operationNotifier.OperationFeed().Send(&feed.Event{
Type: operation.BlockGossipReceived,
Data: &operation.BlockGossipReceivedData{
SignedBlock: blk,
},
})
}

execution_payload_gossip mirrors block_gossip event, so you can see exactly same pattern as our implementation like above.

Testing

➜  kurtosis-config curl -X 'GET' \
  'http://<beacon-node-rpc-url>/eth/v1/events?topics=execution_payload_gossip' \
  -H 'accept: text/event-stream'

event: execution_payload_gossip
data: {"slot":"65","builder_index":"18446744073709551615","block_hash":"0x36b193697ddff3ece883e04a554e108c280ff5cb1c101aed886cb15bd76515bb","block_root":"0x765c25b8e75955f3f1eabbe6ab9bebc3a05f5fb94dcbbef20b1ddde4192c5244"}

with this config:

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: prysm-bn-custom-image:latest
    vc_image: prysm-vc-custom-image:latest
    supernode: true
    count: 3
    cl_extra_params:
      - --subscribe-all-subnets
      - --verbosity=debug
    vc_extra_params:
      - --verbosity=debug

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

additional_services:
  - dora

global_log_level: debug

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

@nalepae
nalepae enabled auto-merge June 4, 2026 08:34
@nalepae

nalepae commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

Tested OK on kurtosis



:

event: execution_payload_gossip
data: {"slot":"64","builder_index":"18446744073709551615","block_hash":"0x9f8e3acc6f591224e282939e4fa0ca9009a75bc0977e5d7193fa0105793aefda","block_root":"0x01638fb606b6c8c402f697202bcc4d2bd8f507b229cdb71e374f97580a000bc0"}

:

:

event: execution_payload_gossip
data: {"slot":"67","builder_index":"18446744073709551615","block_hash":"0x1c3330f21983ff1b186e52b3d2246012531468fda40c4fa4a8825fb4ff6f6e63","block_root":"0xd8ca8edec5cae11e85ce3cf216b82d4c7ee390943d545dd51939a0fbbdfc669b"}

event: execution_payload_gossip
data: {"slot":"68","builder_index":"18446744073709551615","block_hash":"0x01e32b8d76dba2105235cc89abf3666209e73ffa40610fc904bc0f340c01f133","block_root":"0x61e79a5a8aaa28f94160bf9e4b993a86cfdcfab3e1fadef8d74c192c31d6de1f"}

:

:

event: execution_payload_gossip
data: {"slot":"71","builder_index":"18446744073709551615","block_hash":"0xe64948231482dc65e850e80f370703a578e7f8ee275bb4fcbbfbbb61b9c0ac71","block_root":"0x0ed18f202c5872233736f6761e7c369074f86957ac506214322cbf698f184f4a"}

Note: Missing values (eg at slots 65 and 66) correspond to block proposed by this node.

@nalepae
nalepae added this pull request to the merge queue Jun 4, 2026
Merged via the queue into OffchainLabs:develop with commit 3537e47 Jun 4, 2026
16 checks passed
@github-project-automation github-project-automation Bot moved this from Unassigned to Done in Gloas Jun 4, 2026
james-prysm pushed a commit that referenced this pull request Jun 8, 2026
**What type of PR is this?**

> Feature

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

Adds event emission for `execution_payload_gossip` as per
ethereum/beacon-APIs#588.

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

N/A

**Other notes for review**

https://github.com/OffchainLabs/prysm/blob/e94d46b8c175530cac4deb5e0b082366ba9fb6be/beacon-chain/sync/validate_beacon_blocks.go#L276-L283

`execution_payload_gossip` mirrors `block_gossip` event, so you can see
exactly same pattern as our implementation like above.

**Testing**

```
➜  kurtosis-config curl -X 'GET' \
  'http://<beacon-node-rpc-url>/eth/v1/events?topics=execution_payload_gossip' \
  -H 'accept: text/event-stream'

event: execution_payload_gossip
data: {"slot":"65","builder_index":"18446744073709551615","block_hash":"0x36b193697ddff3ece883e04a554e108c280ff5cb1c101aed886cb15bd76515bb","block_root":"0x765c25b8e75955f3f1eabbe6ab9bebc3a05f5fb94dcbbef20b1ddde4192c5244"}
```

with this config:

```yaml
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: prysm-bn-custom-image:latest
    vc_image: prysm-vc-custom-image:latest
    supernode: true
    count: 3
    cl_extra_params:
      - --subscribe-all-subnets
      - --verbosity=debug
    vc_extra_params:
      - --verbosity=debug

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

additional_services:
  - dora

global_log_level: debug
```

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

2 participants