Running an operator
CURRENT VERSION: Aligned Operator v0.3.0
IMPORTANT: You must be whitelisted to become an Aligned operator.
Supported Verifiers
The following is the list of the verifiers currently supported by Aligned:
✅ gnark - Groth16 (with BN254)
✅ gnark - Plonk (with BN254 and BLS12-381)
✅ SP1 (v1.0.8-testnet)
✅ Risc0 (v1.0.1)
The following proof systems are going to be added soon:
🔲 Kimchi
🔲 Halo2 - Plonk/KZG
🔲 Halo2 - Plonk/IPA
Requirements
This guide assumes you are already registered as an operator with EigenLayer.
Hardware Requirements
Minimum hardware requirements:
CPU
16 cores
Memory
32 GB RAM
Bandwidth
1 Gbps
Storage
256 GB disk space
Step 1 - Clone the repo
To start with, clone the Aligned repository and move inside it
git clone https://github.com/yetanotherco/aligned_layer.git --branch v0.3.0
cd aligned_layer
Step 2 - Building the Operator
We recommend building from source whenever possible. If using the docker image, these steps can be skipped.
Ensure you have the following installed:
Also, you have to install the following dependencies for Linux:
pkg-config
libssl-dev
To install foundry, run:
make install_foundry
foundryup
To build the operator binary, run:
make build_operator
Upgrading the Operator
If you want to upgrade the operator, run:
make update_operator
This will recreate the binaries. You can then proceed to restart the operator.
You can find the latest version of the operator here.
Checking the Operator Version
To see the operator version, run:
./operator/build/aligned-operator --version
This will display the current version of the operator binary.
Step 3 - Update the configuration for your specific Operator
Update the following placeholders in ./config-files/config-operator.yaml
:
"<operator_address>"
"<earnings_receiver_address>"
"<ecdsa_key_store_location_path>"
"<ecdsa_key_store_password>"
"<bls_key_store_location_path>"
"<bls_key_store_password>"
"<ecdsa_key_store_location_path>"
and "<bls_key_store_location_path>"
are the paths to your keys generated with the EigenLayer CLI, "<operator_address>"
and "<earnings_receiver_address>"
can be found in the operator.yaml
file created in the EigenLayer registration process. The keys are stored by default in the ~/.eigenlayer/operator_keys/
directory, so for example <ecdsa_key_store_location_path>
could be /path/to/home/.eigenlayer/operator_keys/some_key.ecdsa.key.json
and for <bls_key_store_location_path>
it could be /path/to/home/.eigenlayer/operator_keys/some_key.bls.key.json
.
Step 4 - Deposit Strategy Tokens
We are using WETH as the strategy token.
To do so there are 2 options, either doing it through EigenLayer's website, and following their guide, or running the commands specified by us below.
You will need to stake a minimum of a 1000 Wei in WETH. We recommend to stake a maximum amount of 10 WETH. If you are staking more than 10 WETH please unstake any surplus over 10.
Option 1
EigenLayer's guide can be found here.
Option 2
If you have ETH and need to convert it to WETH you can use the following command, that will convert 1 ETH to WETH. Make sure to have foundry installed. Change the parameter in ---value
if you want to wrap a different amount:
cast send 0x94373a4919B3240D86eA41593D5eBa789FEF3848 --rpc-url https://ethereum-holesky-rpc.publicnode.com --private-key <private_key> --value 1ether
Here <private_key>
is the placeholder for the ECDSA key specified in the output when generating your keys with the EigenLayer CLI.
Finally, to end the staking process, you need to deposit into the WETH strategy, as shown in the EigenLayer guide.
If you don't have Holesky ETH, these are some useful faucets:
Step 5 - Start the operator
./operator/build/aligned-operator start --config ./config-files/config-operator.yaml
Unregistering the operator
To unregister the Aligned operator, run:
cast send --rpc-url https://ethereum-holesky-rpc.publicnode.com --private-key <private_key> 0x3aD77134c986193c9ef98e55e800B71e72835b62 'deregisterOperator(bytes)' 0x00
<private_key>
is the one specified in the output when generating your keys with the EigenLayer CLI.
Last updated