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
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
Installation:
curl -sSfL https://witnesschain-com.github.io/install-operator-cli | bash
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>
Last updated