Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

EigenDA Data Availability

This section describes the requirements to use OP Succinct for a chain with EigenDA as the data availability layer. The requirements are additive to the ones required for the op-succinct service. Please refer to the Proposer section for the base configuration.

Environment Setup

Create a .env file with all base configuration variables from the Proposer section, plus the EigenDA-specific variable below.

Required Variables

ParameterDescription
EIGENDA_PROXY_ADDRESSBase URL of the EigenDA Proxy REST service (e.g., http://localhost:3100). OP Succinct connects to this proxy to retrieve and validate EigenDA blobs from DA certificates.

EigenDA Proxy

The EigenDA Proxy is a REST server that wraps EigenDA client functionality and conforms to the OP Alt-DA server spec. It provides:

  • POST routes: Disperse payloads into EigenDA and return a DA certificate.
  • GET routes: Retrieve payloads via a DA certificate; performs KZG and certificate verification.

See EigenDA Proxy for more details on how to run the proxy.

After running the proxy, set EIGENDA_PROXY_ADDRESS=http://127.0.0.1:3100 in your .env for OP Succinct to consume the proxy.

EigenDA Contract Configuration

Before deploying or updating contracts, generate the EigenDA-specific verification key commitments and rollup config hash with the correct feature flag. This ensures the range verification key commitment matches the EigenDA range ELF:

# From the repository root
cargo run --bin config --release --features eigenda -- --env-file .env

The command prints the Range Verification Key Hash, Aggregation Verification Key Hash, and Rollup Config Hash; keep these values and ensure they match what you publish on-chain in OPSuccinctL2OutputOracle.

Whenever you rely on just helpers (deploy-oracle, update-parameters, etc.), include the eigenda argument so fetch-l2oo-config runs with the EigenDA feature enabled. If you invoke the Rust binaries directly, add --features eigenda; otherwise the script emits the default Ethereum DA values and your contracts will revert with ProofInvalid() when submitting proofs.

Run the EigenDA Proposer Service

Run the op-succinct-eigenda service.

docker compose -f docker-compose-eigenda.yml up -d

To see the logs of the op-succinct-eigenda service, run:

docker compose -f docker-compose-eigenda.yml logs -f

To stop the op-succinct-eigenda service, run:

docker compose -f docker-compose-eigenda.yml down

Deploying OPSuccinctL2OutputOracle with EigenDA features

just deploy-oracle .env eigenda

Updating OPSuccinctL2OutputOracle Parameters

just update-parameters .env eigenda

For more details on updating parameters, see the Updating OPSuccinctL2OutputOracle Parameters section.