TenderDuty is a robust tool for monitoring blockchain nodes, providing insights into network height, validator status, uptime, signed blocks, and transmitted blocks. It also supports alerts via Telegram and Discord for effective monitoring.
Preparing the Environment
Start by updating your server and installing the necessary dependencies:
Copy sudo apt update && sudo apt upgrade -y
sudo apt install curl git wget jq make gcc tmux htop pkg-config libssl-dev tar clang unzip -y Installing Docker
Docker is required to run TenderDuty. Follow these steps to install it:
Add the Docker repository key:
Copy curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - Add the Docker repository:
Copy sudo add-apt-repository " deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable " Install Docker:
Copy sudo apt update && sudo apt install docker-ce -y Verify the installation:
Setting Up TenderDuty
Create a dedicated directory for TenderDuty and set up the configuration.
Create the directory and navigate to it:
Download the example configuration file:
Edit the configuration file:
Customize the configuration:
Replace celestia with your project name.
Update the chain_id (e.g., replace mocha-4 with your chain ID, such as testnet-1).
Enter your validator address in the valoper_address field.
Update the url field with the RPC address of your node, such as tcp://localhost:26657.
Running TenderDuty
Launch TenderDuty as a Docker container using the following command:
Securing the Server
To protect your server, configure a firewall.
Install the ufw firewall if not already installed:
Set up firewall rules:
You can now access the TenderDuty dashboard in your browser at:
http://<YOUR_SERVER_IP>:8888.
Configuring Telegram Notifications
To configure, use this documentationarrow-up-right .
To enable notifications in Telegram:
Create a Telegram bot using @BotFather and save the API token.
Create a Telegram group, add the bot to the group, and retrieve the group ID.
Edit the configuration file:
Modify the Telegram section:
Restarting TenderDuty
Apply the configuration changes by restarting the Docker container:
TenderDuty is now fully installed and configured. Monitor your node status, receive real-time alerts, and manage everything via the web interface.