Skip to content

OpacityLabs/opacity-avs-operator-setup

Repository files navigation

Opacity AVS Mainnet Node Setup Guide

For support contact @EulerLagrange217 on telegram

Opacity AVS

Introduction

Node Specs Recommended:

Opacity Specs

The Opacity node must be run with a Intel SGX with SGX2 enabled. If you want to use a cloud provider, please use one of these:

We recommend you use Ubuntu 22.04

We DO NOT support AWS Enclaves!

Clone this repo

git clone https://github.com/OpacityLabs/opacity-avs-operator-setup && cd opacity-avs-operator-setup

Check SGX

First we should check you are on a valid SGX machine.

Go to Fortanix and download the binary for your operating system.

For Ubuntu 22.04:

wget https://download.fortanix.com/sgx-detect/ubuntu22.04/sgx-detect?_gl=1*1saf6me*_gcl_au*NDAwNTE3NzE0LjE3MTk1MjQyNDQ -O sgx-detect
chmod +x sgx-detect
sudo ./sgx-detect

You should see:

sgx-detect

If you see any red on the output, please follow the guide here: SGX Guide

otherwise contact @EulerLagrange217 on telegram

Install Go+EigenLayer cli

This step might be optional, so read carefully.

The binaries for the two CLI tools are provided bin folder of this repo. Since these binaries will handle private keys or may not execute correctly we've provided instructions to build them yourself in: CLI Guide

Register Node Operator with EigenLayer mainnet

Before we can run a node, you must register your keys as an operator with EigenLayer mainnet. Please follow this guide: Register Operator Guide

Make sure you have 20ETH of Supported LSTs Delegated to your Operator

Here is an example operator for our AVS on mainnet: 0xWildhare

Install Docker

Using docker will make it much easier to manage the lifetime of your node operations, as well as seamlessly apply updates.

Use this guide: Docker Install Guide

Run Opacity Node

Update Config

There are a few values you must set manually in config/mainnet/opacity.mainnet.config.yaml (or for holesky)

# Set these
operator_address:
eth_rpc_url: 
node_public_ip:

Start the Docker container

The OPERATOR_ECDSA_KEY_PASSWORD and OPERATOR_ECDSA_KEY_FILE environment variables are optional, but the node will not automatically register to the AVS if they are not provided.

#! Make sure these are correct
export OPERATOR_ECDSA_KEY_PASSWORD="your password" # optional
export OPERATOR_BLS_KEY_PASSWORD="your password"

#! Make sure these are correct
export OPERATOR_ECDSA_KEY_FILE=$HOME/.eigenlayer/operator_keys/opacity.ecdsa.key.json # optional
export OPERATOR_BLS_KEY_FILE=$HOME/.eigenlayer/operator_keys/opacity.bls.key.json

Run:

make mainnet-start-node

OR

# Make sure you're on the latest image
docker pull opacitylabseulerlagrange/opacity-avs-node:latest

docker run -it \
    --device /dev/sgx_enclave \
    --device /dev/sgx_provision \
    --volume $OPERATOR_ECDSA_KEY_FILE:/opacity-avs-node/config/opacity.ecdsa.key.json \
    --volume $OPERATOR_BLS_KEY_FILE:/opacity-avs-node/config/opacity.bls.key.json \
    --volume ./config/mainnet/opacity.mainnet.config.yaml:/opacity-avs-node/config/opacity.config.yaml \
    -e OPERATOR_ECDSA_KEY_PASSWORD=$OPERATOR_ECDSA_KEY_PASSWORD \
    -e OPERATOR_BLS_KEY_PASSWORD=$OPERATOR_BLS_KEY_PASSWORD \
    -p 7047:7047 opacitylabseulerlagrange/opacity-avs-node:latest

add a -d to start it in the background.

This should start off the container

To check if it is still alive run:

docker container ls -la

To get the logs from a container

docker logs --since=1h <container-id>

If all looks good go to https://your-node-public-ip:7047

You should see:

running node

View Node Logs

Once your container is running, we've included some commands to view the logs.

Run:

make show-node-logs

OR

docker logs --since=1h opacity-avs

The following command will also dump all the logs into a opacity-avs-node.log file:

make dump-node-logs

OR

docker logs opacity-avs >& opacity-avs-node.log

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published