Installation
Chainbase Set Up AVS Operator Tutorial
Hardware Requirements
General Purpose - large
2
8 GB
5 Mbps
General Purpose - xl
4
16 GB
25 Mbps
General Purpose - 4xl
16
64 GB
5 Gbps
1. Install Software Requirements
Docker
sudo apt-get update && \sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common gnupg && \curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg && \echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null && \sudo apt-get update && \sudo apt-get install -y docker-ce docker-ce-cli containerd.ioGO
wget https://go.dev/dl/go1.22.6.linux-amd64.tar.gz && \sudo rm -rf /usr/local/go && \sudo tar -C /usr/local -xzf go1.22.6.linux-amd64.tar.gz && \echo "export PATH=\$PATH:/usr/local/go/bin" >> ~/.profile && \source ~/.profile && \go version2. Install CLI Using GO
go install github.com/Layr-Labs/eigenlayer-cli/cmd/eigenlayer@latestexport PATH=$HOME/go/bin:$PATHecho 'export PATH=$HOME/go/bin:$PATH' >> ~/.profilesource ~/.profileeigenlayer --version3. Create New Operator Wallet
echo "password" | eigenlayer operator keys create --key-type ecdsa keynamePassword. Must be combination of uppercase, lowercase, numbers and symbolsKeynameChange with your ownCopy Private Key
Press q
Copy your Ethereum Address
4. Check Wallet
eigenlayer operator keys list5. Claim Faucet
You need at least 1 ETH Holesky to cover the gas cost of the operator registration.
6. Configure Your Operator
eigenlayer operator config createEnter your Operator Address
Earning Address , Just press Enter
RPC ETH Holesky, you can find at : https://chainlist.org/chain/17000 or use your own RPC.
Select Network Holesky
Select Local Keystore
Look for your ECDSA Key file path
Mine is in :
/root/.eigenlayer/operator_keys/stakenode.ecdsa.key.jsonCopy and Paste the directory link above.
7. Look for Metadata.json file
nano metadata.jsonEdit and fill up with your Data, like Name, Website, Description, Twitter
You can upload your logo to your Github Repository.
Copy its Raw link.
Done and Save
ctrl x y enter
8. RPC URL Configuration
curl -I Change-with-URL-RPC9. Create Metadata URL
Upload content of your Metadata.json to GitHub and copy its RAW link.
Input in operator.yaml at metadata_url section and Save
Done
10. Update operator.yaml
eigenlayer operator update operator.yamlInsert your Password
If you got "Operator Not Register"
You need to register first by using the following command :
eigenlayer operator register operator.yamlInsert your Password
Done
11. Install Chainbase-AVS-CLI
wget https://github.com/chainbase-labs/chainbase-avs-contracts/releases/download/v0.1.9-ci-test/chainbase-node_Linux_x86_64.tar.gz && \tar -xzf chainbase-node_Linux_x86_64.tar.gz && \sudo mv chainbase-node /usr/local/bin/ && \sudo chmod +x /usr/local/bin/chainbase-node && \rm chainbase-node_Linux_x86_64.tar.gz12. Chainbase AVS Contract Registration
git clone https://github.com/chainbase-labs/chainbase-avs-setup && cd chainbase-avs-setup/holesky mv .env.example .envEdit nano .env
# Chainbase AVS Image
MAIN_SERVICE_IMAGE=repository.chainbase.com/network/chainbase-node:testnet-v0.1.7
FLINK_TASKMANAGER_IMAGE=flink:latest
FLINK_JOBMANAGER_IMAGE=flink:latest
PROMETHEUS_IMAGE=prom/prometheus:latest
MAIN_SERVICE_NAME=chainbase-node
FLINK_TASKMANAGER_NAME=flink-taskmanager
FLINK_JOBMANAGER_NAME=flink-jobmanager
PROMETHEUS_NAME=prometheus
# FLINK CONFIG
FLINK_CONNECT_ADDRESS=flink-jobmanager
FLINK_JOBMANAGER_PORT=8081
NODE_PROMETHEUS_PORT=9091
PROMETHEUS_CONFIG_PATH=./prometheus.yml
# Chainbase AVS mounted locations
NODE_APP_PORT=8080
NODE_ECDSA_KEY_FILE=/app/operator_keys/ecdsa_key.json
NODE_LOG_DIR=/app/logs
# Node logs configs
NODE_LOG_LEVEL=debug
NODE_LOG_FORMAT=text
# Metrics specific configs
NODE_ENABLE_METRICS=true
NODE_METRICS_PORT=9092
# holesky smart contracts
AVS_CONTRACT_ADDRESS=0x5E78eFF26480A75E06cCdABe88Eb522D4D8e1C9d
AVS_DIR_CONTRACT_ADDRESS=0x055733000064333CaDDbC92763c58BF0192fFeBf
###############################################################################
####### TODO: Operators please update below values for your node ##############
###############################################################################
# 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=/root
EIGENLAYER_HOME=${USER_HOME}/.eigenlayer
CHAINBASE_AVS_HOME=${USER_HOME}/chainbase-avs-setup/holesky
NODE_LOG_PATH_HOST=${CHAINBASE_AVS_HOME}/logs
# Correct path to the ECDSA key file
NODE_ECDSA_KEY_FILE_HOST=${EIGENLAYER_HOME}/operator_keys/CHANGETOYOURS.ecdsa.key.json
# Key decryption password
NODE_ECDSA_KEY_PASSWORD=CHANGE-TO-YOUR-PASSWORD1. Make sure the folder is there and you have permission to run docker.
cd chainbase-avs-setup/holeskysource .env && mkdir -pv ${EIGENLAYER_HOME} ${CHAINBASE_AVS_HOME} ${NODE_LOG_PATH_HOST}2. Confirm the latest image version of avs chainbase and edit on env file
MAIN_SERVICE_IMAGE=repository.chainbase.com/network/chainbase-node:v0.1.9-ci-test3. Change the access permissions of chainbase-avs.sh
chmod +x ./chainbase-avs.sh4. Change YOUR_OPERATOR_NAME with your Operator name
nano premetheus.yml13. Register Chainbase AVS
./chainbase-avs.sh register14. Run Chainbase AVS
./chainbase-avs.sh run15. Check Chainbase AVS Logs
docker compose logs chainbase-node -fCheck Node Health
curl -i localhost:8080/eigen/node/healthGet Operator Link
eigenlayer operator status operator.yamLast updated