Setup Aligned Infrastructure Locally
Last updated
Last updated
Ensure you have the following installed:
After installing foundryup, you need to install a specific Foundry version:
Then run:
This will:
Initialize git submodules
Install: eigenlayer-cli
, zap-pretty
and abigen
Build ffis for your os.
To start anvil, a local Ethereum devnet with all necessary contracts already deployed and ready to be interacted with, run:
or with a custom config:
or with a custom config:
Different configs for operators can be found in config-files/config-operator
.
If you want to use the batcher under a real S3
connection you'll need to specify the environment variables under batcher/aligned-batcher/.env
and then run:
Aligned also counts with 2 external components, which are not necessary for Aligned to work, but are useful for observability.
Ensure you have the following installed:
Tested with node 20 and 22
After installing the necessary deps, setup the environment variables by running:
Then start the explorer:
This will:
Start a postgres docker container
Run ecto setup
Start the explorer on http://localhost:4000.
If you want to run the explorer without docker run:
If you want to fetch past batches that for any reason were not inserted into the DB, you will first need to make sure you have the ELIXIR_HOSTNAME
in the .env
file.
You can get the hostname of your elixir by running:
Then you can run:
To get operators strategies and restakes data:
The Metrics and Telemetry are used to view more in-depth information about the network. With it, you can visualize all sort of cumulative and historical metrics of the network, of the individual components and their behaviors. Tese services are not necessary to run aligned, though you will see warnings in the rest of components as they won't be able to connect and send their status.
Ensure you have the following installed:
To run Prometheus and Grafana, run:
This will start containers for Prometheus and Grafana. You can access Grafana on http://localhost:3000
with the default credentials admin:admin
.
Alternately, you can access the raw scrapped metrics collected with Prometheus on http://localhost:9091/metrics
.
To setup the telemetry service run:
If it is your first time first you'll need to execute the following commands:
Then, to start the service:
This will:
Start OpenJaeger container for the traces: available at http://localhost:16686/
Start telemetry server: available at http://localhost:4001/
To send proofs quickly you can run any of the targets that have the prefix batcher_send
for example:
Send a single plonk proof:
Send a burst of <N>
risc0 proofs:
Send an infinite stream of groth_16 proofs:
Feel free to explore the rest of targets.
To start the :
To setup an run:
To start the locally:
This starts a to act as a replacement for S3.
, compiled with OTP 26
, compiled with OTP 26