Finding the longest attestation slot gap

Find the best slot gap to avoid missing any validator duties.

Quick steps guide

The following steps align with our mainnet guide. You may need to adjust file names and directory locations where appropriate. The core concepts remain the same.

🗡️ Why do I want to calculate the longest attestation slot gap?

  • Your validators are assigned duties to attest and propose blocks.

  • Understanding the schedule of your validator's duties better, you can find the best time to plan consensus/execution client updates, system reboots or outages.

  • Since the Altair Hard Fork, checking sync committee membership is a must before performing any maintenance. This will give you up to ~27 hours of advanced notice in case your validators have been selected for sync committee duties.

🤖 Pre-requisites

🚧 How to Run the Validator Duties script

1. Install python3

sudo apt update && sudo apt-get install python3

2. Download pietjepuk2's get_validator_duties.py python script.

cd $HOME
wget https://gist.githubusercontent.com/pietjepuk2/eb021db978ad20bfd94dce485be63150/raw/cc874b3035f97495416353f203d70477b31ab05d/get_validator_duties.py

3. Enter your validator index numbers as parameters to the python script.

python3 get_validator_duties.py <validator index number(s)>
# Example
# python3 get_validator_duties.py 1000 1001 1002 1003

Sample Output showing the longest gap in seconds, # of slots and time range.

Longest gap (first):

120.0 seconds (10 slots), from 13:37:35 until 13:39:35

Troubleshooting:

  • The python script calls the http API on port 5052.

  • Ensure the http API is enabled for your consensus layer client.

    • teku: --rest-api-enabled=true

  • Teku by default uses port 5051, rather than 5052. Search and replace the port number before using.

🤖 Start staking by building a validator

Visit here for our Mainnet guide

🧩 Reference Material

https://gist.github.com/mohamedmansour/9a82071802ffd58bef7ab5db530f23fd

Last updated