Operator onboarding

K3 AVS Operator Configuration Guide

  1. Pull the docker image from the Docker Hub.

docker pull k3official/k3-labs-avs-operator:latest
  1. Populate the .env file with all the required information. Copy the below template.

L1_RPC= # Your Holesky RPC
L2_RPC= # Your Base Sepolia RPC


OPERATOR_NAME=
OPERATOR_WEBSITE=
OPERATOR_DESCRIPTION=
OPERATOR_LOGO=
OPERATOR_TWITTER=

PRIVATE_KEY=

# Values below this line can be left by default
EL_AVS_DIRECTORY=0x055733000064333CaDDbC92763c58BF0192fFeBf

L1_CHAIN=17000
L2_CHAIN=84532

PINATA_API_KEY=c852ce6f177548614e4f
PINATA_SECRET_API_KEY=acbbdf0edf2650b9740f0f2bd3807c14661099a375144a160a5f324631b7b3e3

TASK_PERFORMER=0x3c7a1a9c769009D21fe2FCfb08c7334919F641fe

ATTESTATION_CENTER_ADDRESS=0x4031BdaF276E650f11bA164656Ca30bab2A4D849
OTHENTIC_REGISTRY_ADDRESS=0x41994741eD86Ec48e9578d0f64839E3F546466Fa
AVS_GOVERNANCE_ADDRESS=0x0C3b1E72eC3559bDb3C13dC68c4ebF7A69f857f5

IPFS_HOST=https://gateway.pinata.cloud/ipfs/
IPFS_API=https://api.pinata.cloud
IPFS_JWT=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySW5mb3JtYXRpb24iOnsiaWQiOiJjZmYzYmE2Yy1mMGZmLTQ3MGUtOTc5Ni0xYmI5ZjZhNzlmNDAiLCJlbWFpbCI6Iml2YW4ucmVpZkBrMy1sYWJzLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJwaW5fcG9saWN5Ijp7InJlZ2lvbnMiOlt7ImlkIjoiRlJBMSIsImRlc2lyZWRSZXBsaWNhdGlvbkNvdW50IjoxfSx7ImlkIjoiTllDMSIsImRlc2lyZWRSZXBsaWNhdGlvbkNvdW50IjoxfV0sInZlcnNpb24iOjF9LCJtZmFfZW5hYmxlZCI6ZmFsc2UsInN0YXR1cyI6IkFDVElWRSJ9LCJhdXRoZW50aWNhdGlvblR5cGUiOiJzY29wZWRLZXkiLCJzY29wZWRLZXlLZXkiOiJjODUyY2U2ZjE3NzU0ODYxNGU0ZiIsInNjb3BlZEtleVNlY3JldCI6ImFjYmJkZjBlZGYyNjUwYjk3NDBmMGYyYmQzODA3YzE0NjYxMDk5YTM3NTE0NGExNjBhNWYzMjQ2MzFiN2IzZTMiLCJpYXQiOjE3MTc0MzM5MjZ9.z-wkmQoOb4U7VBDmY6mFQztpIYxafhbif8stNJBir5Q


OTHENTIC_BOOTSTRAP_ID=12D3KooWBNFG1QjuF3UKAKvqhdXcxh9iBmj88cM5eU2EK5Pa91KB
OTHENTIC_BOOTSTRAP_SEED=97a64de0fb18532d4ce56fb35b730aedec993032b533f783b04c9175d465d9bf

OTHENTIC_CLIENT_RPC_ADDRESS=http://34.133.156.140:8545
OTHENTIC_CLIENT_IP=34.133.156.140
OTHENTIC_AGGREGATOR_P2P_PORT=9876

AVS_WEBAPI_URL=http://localhost

AVS_WEBAPI_PORT=4002
PERFORMER_PORT=3000
AGGREGATOR_PORT=8000

ST_ETH_CONTRACT_ADDRESS=0x3F1c547b21f65e10480dE3ad8E19fAAC46C95034
ST_ETH_STAKE_AMOUNT=10000000000000000
EL_STRATEGY_MANAGER_ADDRESS=0xdfB5f6CE42aAA7830E94ECFCcAd411beF4d4D5b6
EL_DELETEGATION_MANAGER_ADDRESS=0xA44151489861Fe9e3055d95adC98FbD462B948e7

Warning:

  • Ensure no .env variables are encapsulated in double quotes (“ “)

  1. Before you can run the docker image, you have to first register yourself as an operator on the eignelayer holesky testnet network. To do this, run the following command.

docker run --env-file .env k3official/k3-labs-avs-operator register

By default, this script will stake 0.01 ETH and use it to register your address on the Eigenlayer network. If you wish to stake a different amount of ETH, add the ST_ETH_STAKE_AMOUNT variable to the .env file, specifying the amount of ETH you’d like to stake in WEI. E.g: ST_ETH_STAKE_AMOUNT=1000000000000000000 You only need to run this command once. You will be registered as an Operator on the EigenLayer network with the details you provide in the following .env variables:

OPERATOR_NAME= OPERATOR_WEBSITE= OPERATOR_DESCRIPTION= OPERATOR_LOGO= OPERATOR_TWITTER=

If you made a mistake or wish to update the metadata for your Operator, update your .env variables with the correct information and run the register command again. Your changes to your metadata will take a few hours to reflect on the EigenLayer UI

  1. After step 3 is completed, you are ready to run your K3 node:

docker run --env-file .env --network host -d k3official/k3-labs-avs-operator performer

5. Join our telegram chat and ask to be whitelisted (valid only during testnet phase 1): https://t.me/k3labscoms/436

Last updated