Top
A reply to a RetrieveBlob() request.
Field Type Label Description
data bytes The blob retrieved and reconstructed from the EigenDA Nodes per BlobRequest.
A request to retrieve a blob from the EigenDA Nodes via RetrieveBlob().
Field Type Label Description
blob_header common.v2.BlobHeader header of the blob to be retrieved
reference_block_number uint32 The Ethereum block number at which the batch for this blob was constructed.
quorum_id uint32 Which quorum of the blob this is requesting for (note a blob can participate in multiple quorums).
The Retriever is a service for retrieving chunks corresponding to a blob from
the EigenDA operator nodes and reconstructing the original blob from the chunks.
This is a client-side library that the users are supposed to operationalize.
Note: Users generally have two ways to retrieve a blob from EigenDA V2:
Retrieve from the relay that the blob is assigned to: the API
is Relay.GetBlob() as defined in api/proto/relay/relay.proto
Retrieve directly from the EigenDA Nodes, which is supported by this Retriever.
The Relay.GetBlob() (the 1st approach) is generally faster and cheaper as the
relay manages the blobs that it has processed, whereas the Retriever.RetrieveBlob()
(the 2nd approach here) removes the need to trust the relay, with the downside of
worse cost and performance.
Method Name Request Type Response Type Description
RetrieveBlob BlobRequest BlobReply This fans out request to EigenDA Nodes to retrieve the chunks and returns the reconstructed original blob in response.
.proto Type Notes C++ Java Python Go C# PHP Ruby
doubledouble double float float64 double float Float
floatfloat float float float32 float float Float
int32Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64Always eight bytes. int64 long int/long int64 long integer/string Bignum
boolbool boolean boolean bool bool boolean TrueClass/FalseClass
stringA string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytesMay contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)