-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: can read eigenda v1 cert #17
base: master
Are you sure you want to change the base?
Conversation
``` | ||
|
||
To use eigenda proxy within optimism devnet, modify ops-bedrock/docker-compose.yaml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
there might be a way to use an override file? https://docs.docker.com/compose/how-tos/multiple-compose-files/merge/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It still requires to run docker compose -f ...
. But optimism orchestrate the system within the python file
in optimism/bedrock-devnet/devnet/init.py. It feels it is just easier and less complexity, to let the user copy it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// the fourth because 0x01010000 in the beginnin is metadata | ||
match BlobInfo::decode(&mut &item_slice[4..]) { | ||
Ok(cert_blob_info) => info!("cert_blob_info {:?}", cert_blob_info), | ||
Err(e) => info!("cannot decode cert_blob_info {:?}", e), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
return an error instead of logging like this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, the main reason to do it, is such that you can still run with optimism da-server. And that won't break.
After this PR, we should always use eigenda-proxy
I can work on error cleanup in the above PR
use alloy_primitives::Bytes; | ||
use alloy_rlp::{RlpDecodable, RlpEncodable}; | ||
|
||
use alloc::vec::Vec; | ||
|
||
#[derive(Debug, PartialEq, Clone, RlpEncodable, RlpDecodable)] | ||
pub struct G1Commitment { | ||
pub x: [u8; 32], | ||
pub y: [u8; 32], | ||
} | ||
|
||
#[derive(Debug, PartialEq, Clone, RlpEncodable, RlpDecodable)] | ||
pub struct BlobQuorumParam { | ||
pub quorum_number: u32, | ||
pub adversary_threshold_percentage: u32, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We prob want to auto generate these using https://docs.rs/prost-build/latest/prost_build/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is a good idea. But prost probably can't work.
Remember we discuss bytes should not go to Vec, otherwise, rlp isn't compatible.
That is why, I imported alloy_primitives::Bytes, it will have the right rlp encoding behavior.
prost converts bytes to Vec, see https://github.com/tokio-rs/prost?tab=readme-ov-file#fields.
We can create an issue
This is PR add data struct for EigenDA v1 cert, and is able to parse the bytes from EigenDA proxy memstore.