Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ There are likely to be descriptions etc outside of the list below, but new query
| [#535](https://github.com/ethereum/beacon-APIs/pull/535) `data_column_sidecar EVENT` added | | | | | |
| [#537](https://github.com/ethereum/beacon-APIs/pull/537) `GET /eth/v1/debug/beacon/data_column_sidecars/{block_id}` added | | | | | |
| [#539](https://github.com/ethereum/beacon-APIs/pull/539) `GET /eth/v1/beacon/states/{state_id}/proposer_lookahead` added | | | | | |
| [#546](https://github.com/ethereum/beacon-APIs/pull/546) `GET /eth/v1/beacon/blobs/{block_id}` added | | | | | |

The Following are no longer in the Standard API, removed since the latest version.

Expand Down
1 change: 1 addition & 0 deletions apis/beacon/blob_sidecars/blob_sidecars.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
get:
operationId: getBlobSidecars
summary: Get blob sidecars
deprecated: true
description: |
Retrieves blob sidecars for a given block id.
Depending on `Accept` header it can be returned either as json or as bytes serialized by SSZ.
Expand Down
69 changes: 69 additions & 0 deletions apis/beacon/blobs/blobs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
get:
operationId: getBlobs
summary: Get blobs
description: |
Retrieves blobs for a given block id.
Depending on `Accept` header it can be returned either as json or as bytes serialized by SSZ.

If the `versioned_hashes` parameter is specified, only the blobs for the specified versioned hashes will be returned. Blobs are
returned as an ordered list matching the order of their corresponding KZG commitments in the block.

After the Fulu fork, only supernodes (which custody all data columns) are required to return blobs. Clients may implement
blob reconstruction logic for non-super nodes.
tags:
- Beacon
parameters:
- name: block_id
in: path
required: true
$ref: "../../../beacon-node-oapi.yaml#/components/parameters/BlockId"
- name: versioned_hashes
in: query
description: Array of versioned hashes for blobs to request for in the specified block. Returns all blobs in the block if not specified.
required: false
schema:
type: array
uniqueItems: true
items:
$ref: "../../../beacon-node-oapi.yaml#/components/schemas/VersionedHash"
responses:
"200":
description: "Successful response"
content:
application/json:
schema:
title: GetBlobsResponse
type: object
required: [execution_optimistic, finalized, data]
properties:
execution_optimistic:
$ref: "../../../beacon-node-oapi.yaml#/components/schemas/ExecutionOptimistic"
finalized:
$ref: "../../../beacon-node-oapi.yaml#/components/schemas/Finalized"
data:
$ref: "../../../beacon-node-oapi.yaml#/components/schemas/Blobs"
application/octet-stream:
schema:
description: "SSZ serialized `List[Blob, MAX_BLOB_COMMITMENTS_PER_BLOCK]` bytes. Use Accept header to choose this response type"
"400":
description: "The block ID supplied could not be parsed"
content:
application/json:
schema:
$ref: "../../../beacon-node-oapi.yaml#/components/schemas/ErrorMessage"
example:
code: 400
message: "Invalid block ID: current"
"404":
description: "Block not found"
content:
application/json:
schema:
$ref: "../../../beacon-node-oapi.yaml#/components/schemas/ErrorMessage"
example:
code: 404
message: "Block not found"
"406":
$ref: "../../../beacon-node-oapi.yaml#/components/responses/NotAcceptable"
"500":
$ref: "../../../beacon-node-oapi.yaml#/components/responses/InternalError"
6 changes: 6 additions & 0 deletions beacon-node-oapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,8 @@ paths:
$ref: "./apis/beacon/blocks/attestations.v2.yaml"
/eth/v1/beacon/blob_sidecars/{block_id}:
$ref: "./apis/beacon/blob_sidecars/blob_sidecars.yaml"
/eth/v1/beacon/blobs/{block_id}:
$ref: "./apis/beacon/blobs/blobs.yaml"
/eth/v1/debug/beacon/data_column_sidecars/{block_id}:
$ref: "./apis/debug/data_column_sidecars.yaml"
/eth/v1/beacon/rewards/sync_committee/{block_id}:
Expand Down Expand Up @@ -381,6 +383,10 @@ components:
$ref: './types/deneb/light_client.yaml#/Deneb/LightClientOptimisticUpdate'
Blob:
$ref: './types/primitive.yaml#/Blob'
Blobs:
$ref: './types/deneb/block_contents.yaml#/Deneb/Blobs'
VersionedHash:
$ref: './types/primitive.yaml#/VersionedHash'
Deneb.BlobSidecars:
$ref: './types/deneb/blob_sidecar.yaml#/Deneb/BlobSidecars'
Electra.BeaconState:
Expand Down
7 changes: 7 additions & 0 deletions types/primitive.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -141,3 +141,10 @@ KZGProof:
format: hex
pattern: "^0x[a-fA-F0-9]{96}$"
description: "A G1 curve point. Used for verifying that the `KZGCommitment` for a given `Blob` is correct."

VersionedHash:
type: string
format: hex
pattern: "^0x[a-fA-F0-9]{64}$"
description: "A versioned hash used to identify a Blob."
example: "0x01cf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"