AO Worker Guides

Software/Hardware Requirement

  • vCPUs: 2+

  • Memory: 4GiB+

  • Storage: 100GiB+

Install

Please reference to official documentation: Install Docker Engine.

Next, pull the image:

docker pull bavolabs/bavo-network:latest

Clone bavo-labs/bavo-worker-setup:

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

Basic Configurations

Copy ./config-files/.env.ao into ./.env. Edit the ./.env and update the values for your own setups.

Node Info

Set a name to identify yourself, these will be used on the node itself and will be shown on performance metrics in the future.

NODE_NAME="Your Node Name"
NODE_DESCRIPTION="Your Node Name's Description"

Arweave Wallet

If you don't have an Arweave wallet, you can install one from ArConnect, and then export the wallet from ArConnect and store it to somewhere.

Next, fill in the file path of the Arweave wallet,

AR_WALLET_PATH='/path/to/your/arwallet.json'

LHE Key

The LHE key is used for data sharing, use the following command to generate it.

bash ./run.sh generate-lhe-key [--key-name <NAME>]

The default output is ./keys/default.lhe.key.json, you can specify the key name via --key-name <NAME>.

IMPORTANT! Don't lose this file and save it to a safe place!

Next, fill in the file path of the LHE key you have generated.

LHE_KEY_PATH='/path/to/your/lhe.key.json'

Register to BAVO AO Process

NOTE: Please contact BAVO Labs to add your wallet address to the WHITELIST before being able to successfully register!

Once the configuration is complete, you can run:

bash ./run.sh ao:register

In general, you only need to perform the registry step once.

Run Task

Once successfully registered, you can start the task program. If necessary, e.g. in a production environment, it is recommended to start the program as a background process.

bash ./run.sh task [<name>]

It will start a container named bavo-network[-name] in the background. Some logs will output to ./logs/*.log.

You can Stop/Start/Restart/Remove the container by running docker stop/start/restart/rm bavo-network[-name].

Add New Workers

NOTE: Add New Workers is optional. If you want to execute Ethereum and AO tasks at the same time, you can execute the following command. Otherwise, you do not need to execute the following command.

Add EigenLayer Worker

Step 1: Reference ./config-files/.env.holesky(Holesky), mainly copy and append the following options and their value to .env:

ENABLE_EIGEN_LAYER
ETH_RPC_URL
REGISTRY_COORDINATOR_ADDRESS
ROUTER_ADDRESS
ECDSA_KEY_FILE
ECDSA_KEY_PASSWORD
BLS_KEY_FILE
BLS_KEY_PASSWORD

Step 2: Set your own ECDSA_KEY_FILE, ECDSA_KEY_PASSWORD, BLS_KEY_FILE, BLS_KEY_PASSWORD. Reference Register as Operator on EigenLayer and ECDSA and BLS Key.

Step 3: Deposit some ETH to everPay. Reference Storage.

Step 4: Register to BAVO AO Process. Reference Register to BAVO AVS.

Step 5: Remove the old container and re-run the task. Reference Run Task.

You can see the full configuration options from ./config-files/.env.holesky-and-ao.

Last updated