Ping validator

Running Pinger allows the validator to share leader data transmission times with the network.

Why Use Pinger?

When an RPC receives a transaction message to be included in a block, it must forward the message to the leader. Fast data transmission to the leader is crucial for network efficiency and consensus speed.

Data forwarding from RPCs/validators to the leader

Monitoring your validator's ping times ensures it meets leader schedule performance requirements.

Pinger Dashboard

X1 Validator Dashboard with Ping Times

Ping times measure how long it takes for your validator to communicate with the current leader. Since the leader changes every four slots (1.6s), ping time variance (typically 500–3000ms) depends on the distance to the constantly switching leader.

Installation

Configure Keypair

solana config set -k ~/.config/solana/id.json

Ensure the keypair has funds, as a transaction is sent with each ping.

Open Firewall Port (If Enabled)

Enable UFW if it is not already enabled:

sudo ufw enable

Allow traffic on port 3334:

sudo ufw allow 3334/tcp

Install and Run Pinger

# Update and install dependencies
sudo apt update
sudo apt install -y nodejs jq

# Clone the Pinger repository
git clone https://github.com/x1-labs/x1-pinger/
cd x1-pinger
npm install

# Set up the system service
cp system/x1-pinger.service /etc/systemd/system/x1-pinger.service

# If installed in a different directory, update the service file accordingly
# nano /etc/systemd/system/x1-pinger.service

# Enable and start the service
sudo systemctl enable --now x1-pinger

Verify Installation

Check the service status:

sudo systemctl status x1-pinger

View logs to ensure correct operation:

journalctl -u x1-pinger -f

Once running, your validator will continuously measure and share leader ping times.

Managing Pinger

Stop the Pinger

sudo systemctl stop x1-pinger

Retrieve Ping Metrics

curl http://localhost:3334/ping_times | jq

You can also check your ping times on x1val.online:

Last updated