Requirements

Docker: Docker is a requirement for AVS operators.

Docker Compose: Docker Compose is used alongside Docker for executing Operator software.

➕Linux Environment: Eigenlayer’s CLI only runs in a Linux environment.

Go: Two out of three installation routes require the use of Go. It’s safer to go with Go than go without. 😉

EigenLayer Registration

Before registering as an AVS, ensure that the operator has already registered with EigenLayer. For reference, see here

Chainbase AVS Contract Registration

  1. download chainbase avs setup repo
git clone https://github.com/chainbase-labs/chainbase-avs-setup && cd chainbase-avs-setup/holesky
  1. rename .env.example to .env

The provided .env contains many default configuration settings for the node. All sections marked with TODO must be updated to match your environment. We recommend that operators follow the steps in the next section to configure their node to run without access to their ECDSA private key.

# TODO: Operators need to point this to a working chain rpc
NODE_CHAIN_RPC=https://rpc.ankr.com/eth_holesky
NODE_CHAIN_ID=17000

# TODO: Operators need to update this to their own paths
USER_HOME=/home/ubuntu
EIGENLAYER_HOME=${USER_HOME}/.eigenlayer
CHAINBASE_AVS_HOME=${EIGENLAYER_HOME}/chainbase/holesky

NODE_LOG_PATH_HOST=${CHAINBASE_AVS_HOME}/logs

# TODO: Operators need to update this to their own keys
NODE_ECDSA_KEY_FILE_HOST=${EIGENLAYER_HOME}/operator_keys/opr.ecdsa.key.json

# TODO: Operators need to add password to decrypt the above keys
# If you have some special characters in password, make sure to use single quotes
NODE_ECDSA_KEY_PASSWORD=''
  1. ensure that the specific folders exist that the docker user has the correct write permissions
source .env && mkdir -pv ${EIGENLAYER_HOME} ${CHAINBASE_AVS_HOME} ${NODE_LOG_PATH_HOST}
  1. confirm the latest chainbase avs image version and modify it in the .env file
MAIN_SERVICE_IMAGE=repository.chainbase.com/network/chainbase-node:<latest version>
  1. change chainbase-avs.sh file permissions
chmod +x ./chainbase-avs.sh
  1. update holesky/prometheus.yml’s ${YOUR_OPERATOR_NAME}

replace this with your Operator name you want to be identified by, it helps us route alerts and metrics to your notification channels easily

Register Chainbase AVS

  1. Run the following command to register as an operator:
./chainbase-avs.sh register

Run Chainbase AVS

  1. Run the following command to startup our avs:
./chainbase-avs.sh run

View Chainbase AVS Logs

  1. You may view the container logs using and of the following commands
docker compose logs -f
docker compose logs -f <container_name>
docker logs -f <container_id>