Join as Keeper

To become active Keepers in the system, operators must register on EigenLayer and TriggerX. This process involves setting up a secure environment, generating necessary cryptographic keys, creating configuration files, and completing registration on both platforms.

Prerequisites:

  • Whitelist your Keeper: You must complete the form, which is linked here, to whitelist your keepers. We will not involve your keeper in operator activities unless you do so.

  • Holesky ETH and LSTs: You must have some Holesky ETH in your wallet to complete the registration process. You also need voting power among keepers to participate in our AVS validation activities. LSTs provide this power.

  • Othentic CLI:

    • Node v22.6.0 - Must be exactly v22.6.0.

    • Install using the cmd:

npm i -g @othentic/othentic-cli@1.8.1

Verify the CLI installation with othentic-cli -v .

  • Ethereum RPC URL (e.g., Alchemy API Key or your URL if running an Ethereum node)

  • Docker Engine: We ship our keeper nodes as Docker containers, which you are required to run. Install Docker by following the instructions here.

Hardware Requirements:

The following specifications represent the hardware required to operate a Keeper node:

Components
Specification

CPU

1 vCPU

Memory (RAM)

1 GB

Storage

10 GB

Environment Configuration:

Note: We advise you to fill in the RPC URLs first, then run the register command using the Othentic CLI. Then, and as per the data used in registration, you should fill out the private keys and operator address. However, if you are familiar with the process, you can go ahead and fill out all the details.

Copy the .env file below, and fill in the fields required:

###############
# For Keepers #
###############

# Alchemy or Infura RPC Endpoints, Public RPCs don't have enough rate limits
# RPC URL for eth-holesky
L1_RPC=
# RPC URL for base-sepolia
L2_RPC=

# For Consensus Participation, Consensus Private Key from Othentic Docs
PRIVATE_KEY=

# For AVS participation, Controller Key from Othentic Docs
OPERATOR_ADDRESS=
OPERATOR_PRIVATE_KEY=

# Ports available on the machine, default 9005 and 9006
OPERATOR_RPC_PORT=9005
OPERATOR_P2P_PORT=9006

################
# DO NOT EDIT #
################
L1_CHAIN=17000
L2_CHAIN=84532

AVS_GOVERNANCE_ADDRESS=0xE52De62Bf743493d3c4E1ac8db40f342FEb11fEa
ATTESTATION_CENTER_ADDRESS=0x8256F235Ed6445fb9f8177a847183A8C8CD97cF1

PINATA_API_KEY=9f5922013fb9e2dfbc13  
PINATA_SECRET_API_KEY=190e9f1c959861bce0aed5a0e6c74a45a225658f7fa4fdc70f3fe136b76587fb  
IPFS_HOST=aquamarine-urgent-limpet-846.mypinata.cloud

OTHENTIC_BOOTSTRAP_ID=12D3KooWBNFG1QjuF3UKAKvqhdXcxh9iBmj88cM5eU2EK5Pa91KB
OTHENTIC_BOOTSTRAP_SEED=97a64de0fb18532d4ce56fb35b730aedec993032b533f783b04c9175d465d9bf

OTHENTIC_CLIENT_RPC_ADDRESS=https://aggregator.triggerx.network
MANAGER_IP_ADDRESS=https://manager.triggerx.network
DATABASE_IP_ADDRESS=https://data.triggerx.network
HEALTH_IP_ADDRESS=https://health.triggerx.network

Important: Ensure all environment variables are correctly set before starting the Keeper.

Register on Eigen Layer

This guide walks through registering as an operator on TriggerX AVS, including EigenLayer registration, and AVS opt-in procedures.

Register Operators on EigenLayer

Note: You can skip this section if registered on EigenLayer.

To register as an operator on EigenLayer, run the following command:

othentic-cli operator register-eigenlayer

Follow these steps when prompted:

  1. Enter the Operator's private key.

  2. Enter the Operator Details:

    • Operator name

    • Description

    • Website

    • Logo URL

    • Twitter profile

At the end, the CLI will display the transaction hash.

Register as Keeper

To register an Operator, use the following command:

othentic-cli operator register

This command initiates the registration process for EigenLayer and TriggerX AVS. You will be prompted to provide the following details:

Required Information

  1. Private Key and Signing Key

    • For testnet, you can use the same key for both.

    • For the mainnet, two different keys are required. Refer to the Othentic documentation here for details on using separate keys.

  2. AVS Governance Contract Address

    • You will be prompted to enter the AVS Governance contract address, use this address:

      0xE52De62Bf743493d3c4E1ac8db40f342FEb11fEa
  3. Rewards Receiver Address

    • The Operator address will be used as the default and is recommended. Users can set a separate wallet address.

TriggerX supports these strategies on testnet: stETH, WETH, EIGEN, and Natively staked ETH. If you don't have them, you can acquire them as mentioned here.

Quickstart

Keeper Services

The Keeper includes both Performer and Attester services. Performer means your keeper is selected to perform the task for this round, and your peers in the network would be Attester, validating your action.

Ports Configuration

The docker container you are required to run uses a port 33333 for P2P communication, along with ports 9005, 9006 for Keeper Performer and Attestation activities, along with 9009 metrics export. Among these, only one port 33333 would require inbound access through the firewall, as the rest are for all local communication only (meaning no inbound traffic will be sent on those). So, to participate in the Keeper P2P network, you are required to open a port 33333 on your firewall.

Docker Image

These commands can be used whenever you start or restart your keeper docker.

  • If restarting, ensure you have stopped the older keeper docker running using the command (assuming your container name is triggerx-keeper):

docker kill triggerx-keeper
docker rm triggerx-keeper
  • Pull the docker image from Docker Hub:

docker pull trigg3rx/triggerx-keeper:latest
  • Start the Docker Container with the env file created in the previous step

docker run -v /path/to/your/.env:/root/.env --name triggerx-keeper --network host -d trigg3rx/triggerx-keeper:latest

Keeper Monitoring

This guide will walk you through the process of monitoring your keeper (operator) on TriggerX AVS.

Installation

  1. Clone the repository

git clone https://github.com/trigg3rX/triggerx-keeper-setup.git
  1. Create a .env file. The OPERATOR_ADDRESSfield should have the same address that is being used by Keeper Docker above.

cp .env.example .env
nano .env
  1. Start Monitoring using Grafana

./start_monitoring.sh

Grafana Dashboard

View the dashboard at http://<host>:3000, where <host> is the IP address of the machine running Keeper and Grafana. If a firewall is enabled, you need to open port 3000 to view it on another machine.

  • Username: admin

  • Password: triggerx

Note: Port 3000is the default port for Grafana, you can change this through the .env file, and use that port to view the dashboard.

On the left sidebar, navigate to Dashboards > TriggerX Keeper Dashboard.

Last updated