Ensure you have the following installed:
The aggregation mode currently supports the following proving systems:
- SP1 - Succinct's zkVM (compressed proofs)
Follow these steps to start the aggregation mode locally using the Ethereum package environment.
Start the local Ethereum network using Kurtosis:
make ethereum_package_startThis command spins up a local Ethereum network with all necessary components. To stop it run:
make ethereum_package_rmStart the aggregation mode gateway service:
make agg_mode_gateway_start_ethereum_packageThe gateway handles proof submissions and manages the proof queue. This command also starts the required Docker containers (PostgreSQL) and runs database migrations automatically.
In a separate terminal, start the payments poller:
make agg_mode_payments_poller_start_ethereum_packageThe payments poller monitors the blockchain for payment events and updates user quotas accordingly.
Deposit funds to get quota for submitting proofs:
make agg_mode_gateway_send_paymentThis deposits funds using a default test account. For custom deposits, you can use the CLI directly.
Submit an SP1 proof to the gateway:
make agg_mode_gateway_send_sp1_proofThis sends a test SP1 Fibonacci proof to the gateway.
In a separate terminal, start the proof aggregator:
AGGREGATOR=sp1 make proof_aggregator_start_ethereum_packageThe proof aggregator fetches pending proofs from the database, aggregates them, and submits the aggregated proof on-chain.