Witness Chain
  • Introduction to Witness Chain
  • Infinity Watch
    • Proof of Location (Mainnet)
      • Introduction
      • Process flow
      • Architecture
      • Run a watchtower!
        • For Partner node runners
          • Running on Akash Cloud
          • Running on SuperNoderz
        • EigenLayer operators
          • Running a PoL Watchtower
          • Witness Chain AVS opt-in guide
        • At-home watchtowers
        • For DePIN/Validator Node provider
      • Demos
      • PoL Research
    • APIs
      • Campaign APIs
        • Key Terminologies
        • Authentication
        • Create Campaign
        • Edit campaign
        • Get Photo feed from campaign
        • Get Campaigns
      • Challenge APIs
        • Overview
        • Getting Started
  • Resources
    • Blogs
      • How Proof of Location Works
      • Redefining Geolocation Compliance: Witness Chain & Predicate
    • 🗞️Research
    • 🎙️Talks and Podcasts
    • 🤝Community
    • ⚖️Smart Contracts
    • File a bug
  • Archive
    • Introduction
    • Proof of Diligence Watchtower Protocol
      • How it works
      • Diligence Watchtower Roadmap
      • Watchtower Architecture
      • Chains watched
      • Smart Contracts
      • Quick Links
      • FAQs
    • For the node operators
      • Node requirements
      • Watchtower setup
        • [ARCHIVE] Mainnet Setup
          • L2 Archive Node Setup guide
        • Holesky Setup
          • L2 Archive Node Setup guide
        • Migration from archive to full node
      • Monitoring
    • Research
    • Keys Management
    • Proof of Bandwidth
      • Introduction
      • Architecture
      • For the node operators
        • Running a PoB Challenger Client
        • Running a PoB Prover Client
      • Demos
      • Research
    • 🤝Watchtower Protocol (Architecture v1)
      • 🗼How it works
      • 📅Watchtower Roadmap
      • 🏦Watchtower Architecture
      • 🔗Chains supported
Powered by GitBook
On this page
  • Step 1: Get whitelisted on the Watchtower Network.
  • Step 2: Register the operator on the Witness Chain Watchtower Network
  1. Infinity Watch
  2. Proof of Location (Mainnet)
  3. Run a watchtower!
  4. EigenLayer operators

Witness Chain AVS opt-in guide

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

PreviousRunning a PoL WatchtowerNextAt-home watchtowers

Last updated 2 months ago

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 ) . Please connect with us on our , 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

If you are facing the following error, please upgrade to Ubuntu 22.04

$ watchtower-operator --version

watchtower-operator: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by watchtower-operator)

watchtower-operator: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by watchtower-operator)

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.

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"
}
If your operator address is already registered on L1, set

"eth_rpc_url": ""

This will register the Operator EoA only on L2.

# 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>

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

this guide
Discord
FAQs