EigenLayer Guides

Currently only the Ethereum holesky test network and AO are supported, and the Ethereum main network and other networks will be gradually supported in the future.

Software/Hardware Requirements:

  • vCPUs: 2+

  • Memory: 4GiB+

  • Storage: 100GiB+

Installation:

  1. Follow the official documentation to install Docker Engine.

  2. Pull the latest BAVO image:

    bashCopy codedocker pull bavo-labs/bavo-network:latest
  3. Clone the worker setup repository:

    bashCopy codegit clone https://github.com/bavo-labs/bavo-worker-setup.git
    cd bavo-worker-setup/bavo-node

Register on EigenLayer:

  • If you're already registered on the EigenLayer testnet/mainnet, you can skip this step.

  • This step involves generating ECDSA and BLS keys and registering as an operator.

Steps:

  1. Install EigenLayer CLI.

  2. Generate or import your ECDSA and BLS keypair.

  3. Fund the ECDSA address with ETH to cover gas costs for registration and tasks.

  4. Register as an operator on EigenLayer.

Basic Configurations:

  • For Ethereum Testnet (Holesky), copy the configuration file:

    Edit .env with your own settings.

  • For Mainnet, copy .env.mainnet instead of .env.holesky.

Node Info:

  • Set a name and description for your node:

ECDSA and BLS Keys:

  • Specify the paths and passwords for your ECDSA and BLS keys:

LHE Key:

  • Generate the LHE key used for data sharing:

    The default output is ./keys/default.lhe.key.json. Specify the key path in the configuration:

Storage:

  • Data is stored on Arweave by default, but to avoid potential issues, Arseeding is recommended.

  • Transfer ETH to everPay using:

  • Check your everPay balance:

Register to BAVO AVS:

  • If you're an EigenLayer operator, you can register to the AVS of BAVO. Ensure your wallet is whitelisted by contacting BAVO Labs.

  • Set the relevant parameters (default values provided):

  • Register your operator to AVS:

Metrics (Optional):

  • Enable metrics by setting NODE_ENABLE_METRICS=true and defining a port using NODE_METRICS_PORT (default: 9094).

Run Task:

  • Start the task program:

    This will launch a container named bavo-network[-name] in the background. Logs will be stored in ./logs/*.log.

  • To manage the container, use:

Monitoring (Optional):

  1. Switch to the bavo-worker-setup/monitoring folder.

  2. Configure prometheus.yml with the container and port details:

Add New Workers (Optional):

  • If you want to handle tasks on both Ethereum and AO simultaneously, configure additional workers.

Steps:

  1. Switch to the bavo-worker-setup/bavo-node folder.

  2. Append values from ./config-files/.env.ao to .env and set your AR_WALLET_PATH.

  3. Register to the BAVO AO Process and re-run the task.

Utilities:

  • Worker Withdraw: To withdraw tokens earned from completing tasks:

Last updated