Running an operator
Last updated
Last updated
CURRENT VERSION: Aligned Operator v0.11.2
IMPORTANT: You must be whitelisted to become an Aligned operator.
This guide assumes you are already registered as an operator with EigenLayer.
Minimum hardware requirements:
Component | Specification |
---|---|
To start with, clone the Aligned repository and move inside it
Ensure you have the following installed:
Also, you have to install the following dependencies for Linux:
pkg-config
libssl-dev
To install foundry, run:
To build the operator binary, run:
If you want to upgrade the operator, run:
This will recreate the binaries. You can then proceed to restart the operator.
You can find the latest version of the operator here.
To see the operator version, run:
This will display the current version of the operator binary.
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
.
Two RPCs are used, one as the main one, and the other one as a fallback in case one node is working unreliably.
Default configurations is set up to use the same public node in both scenarios.
PUBLIC NODES SHOULDN'T BE USED AS THE MAIN RPC. We recommend not using public nodes at all.
FALLBACK AND MAIN RPCs SHOULD BE DIFFERENT.
Most of the actions will pass through the main RPC unless there is a problem with it. Events are fetched from both nodes.
We are using WETH as the strategy token.
To do so, there are two 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 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.
EigenLayer's guide can be found here.
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 already installed. Change the parameter in ---value
if you want to wrap a different amount:
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:
To manage the Operator process on Linux systems, we recommend use systemd with the following configuration:
You should create a user and a group in order to run the Operator and set the service unit to use that. In the provided service unit, we assume you have already created a user called aligned
aligned-operator.service
is just an arbitrary name. You can name your service as you wish, following the format <service-name>.service
.
Once you have configured the aligned-operator.service
file, you need to run the following commands:
All paths must be absolute.
Those commands will link the service to systemd directory and then, will start the Operator service.
Also, if the server running the operator goes down, systemd will start automatically the Operator on server startup.
If you want to restart the operator, you can use the following command:
Once you are running your operator using systemd, you can get its logs using journalctl as follows:
To unregister the Aligned operator, run:
<private_key>
is the one specified in the output when generating your keys with the EigenLayer CLI.
CPU
16 cores
Memory
32 GB RAM
Bandwidth
1 Gbps
Storage
256 GB disk space