Witness Chain AVS opt-in guide

This page describes steps for EigenLayer operators to opt-in to WitnessChain AVS

Step 1: Get whitelisted on the Watchtower Network.

The Witness Chain watchtower network is a permissioned network currently (only for EigenLayer operators - others can permissionlessly setup a watchtower using this guide) . Please connect with us on our Discord, if you want to become a watchtower operator via EigenLayer

Step 2: Register the operator on the Witness Chain Watchtower Network

Before you start any activity on this network, ensure your operator address is sufficiently funded to cover the gas costs for registration

Register your EL operator address on the WitnessChain OperatorRegistry contract. You can do so with the help of our CLI utility.

Prerequisites

The CLI tool expects Ubuntu 22.04 (if you are running on linux) or if you are running on Ubuntu 20.04, ensure the glibc version is 2.34+

# Run ldd --version to get the GLIBC version
ldd --version

Step 3.1 : Installation and Running the CLI

  1. Installation:

    curl -sSfL https://witnesschain-com.github.io/install-operator-cli | bash

  2. Running:

    export PATH="$PATH:~/.witnesschain/cli/"
    watchtower-operator --version
    
    Expected VERSION:
       v0.3.0 and higher

Step 3.2 : Registering the operator and the watchtowers on Ethereum Mainnet (L1)

Once you've ensured the tool is installed correctly, run the below commands to register the operator with our AVS and associate the watchtowers to the operator.

Note: Refer to our FAQs to understand the difference between watchtower addresses and operator addresses

Setup the configuration files for the OPERATOR CLI

operator-config.json

# Set of watchtower private keys that will sign the location Proofs. 
# This is used for registration purposes
# Registration will happen both on L1 and L2 simultaneously
{
  "watchtower_private_keys": [
    "<raw-watchtower-private-key e.g. 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef>"
  ],
  "operator_private_key": "<raw-watchtower-private-key e.g. 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef>",
  "eth_rpc_url": "https://eth.llamarpc.com", 
  "proof_submission_rpc_url": "https://rpc.witnesschain.com"
}

# Registers the Operator to WitnessHub AVS on EigenLayer 
# This is required for the Operator to be listed on EigenLayer's App

# Witnesschain Txns can be monitored via Blockscout at https://explorer.witnesschain.com/

# Feel free to skip if this step is already carried out

$ watchtower-operator registerOperatorToAVS --config-file <path to L1 config file>
# Registers the Operator's watchtower to WitnessHub AVS on Layer 1
# This registration is required for operators to be associated with the 
# submissions recorded as a result of participating in location proofs.
# To understand what are watchtowers, please read the FAQs

watchtower-operator registerWatchtower --config-file <path to L1 config file>

Last updated