- Docker installed
- EigenLayer CLI installed
NOTE: For any Docker based commands, if you have installed as root then you might have to append
sudo
in front of the command.
- Register your operator to EigenLayer using EigenLayer CLI
Currently, this operator is for this testnets:
- OP-sepolia
- Arbitrum One
The easiest way to set up MACH AVS is to clone the repo and follow the instructions below.
Clone this repo and execute the following commands:
git https://github.com/alt-research/mach-avs-operator-setup.git
cd mach-avs-operator-setup/holesky/mach-avs/altlayer-multi-mach
cp .env.example .env
Update the TODO
sections in the .env
file given in the root directory of the repository with your own details.
###############################################################################
####### TODO: Operators please update below values for your node ##############
###############################################################################
# TODO: Operators need to update this to their own paths
USER_HOME=${HOME}
EIGENLAYER_HOME=${USER_HOME}/.eigenlayer
# TODO: Operators need to set it ecdsa address
# can got by `eigenlayer operator keys list`, the address is in `Key Type: ECDSA`
OPERATOR_ECDSA_ADDRESS=
# TODO: Operators need to update this to their own keys
NODE_BLS_KEY_FILE_HOST=${EIGENLAYER_HOME}/operator_keys/opr.bls.key.json
# TODO: Operators need to add password to decrypt the above keys
# If your password contain space, / or $, please use single quote to
# encapsulate your password e.g 'mypassword /$'
OPERATOR_BLS_KEY_PASSWORD=
Note OPERATOR_ECDSA_ADDRESS should be an address hex like 0xad6b95793dd4d2b8e184fb4666d1cfb14871a035
.
Execute the following command to start the docker containers:
docker compose up -d
Tear down container
docker compose down
Use the default monitoring:
docker compose --profile monitoring up
And use this to stop:
docker compose --profile monitoring down
If use monitoring
profile, will add grafana
to monitoring the service, the default port is 13000
. can access localhost:13000
.
Opt-in or Opt-out script should use .env.opt
as env file, first use:
cp .env.opt-example .env.opt
Update the TODO
sections in the .env.opt
file given in the root directory of the repository with your own details.
###############################################################################
####### TODO: Operators please update below values for your node ##############
###############################################################################
# TODO: Set the metadata url for operator
METADATA_URI=https://path/to/metadata.json
# TODO: Operators need to update this to their own paths
USER_HOME=${HOME}
EIGENLAYER_HOME=${USER_HOME}/.eigenlayer
# TODO: Operators need to update this to their own keys
NODE_ECDSA_KEY_FILE_HOST=${EIGENLAYER_HOME}/operator_keys/holeskyt1.ecdsa.key.json
NODE_BLS_KEY_FILE_HOST=${EIGENLAYER_HOME}/operator_keys/holeskyt1.bls.key.json
# TODO: Operators need to add password to decrypt the above keys
# If your password contain space, / or $, please use single quote to
# encapsulate your password e.g 'mypassword /$'
OPERATOR_BLS_KEY_PASSWORD=
OPERATOR_ECDSA_KEY_PASSWORD=
Execute the following command to opt-in MACH AVS:
./run.sh opt-in
./run.sh opt-out