WatchDog Agent Deployment Tutorial
In this guide, we'll walk you through the process of setting up your own SendingNetwork WatchDog agent. WatchDog agents act as supportive validators that produce evidence for proof of availability. This is crucial for assessing the relay availability of Edge nodes within the network. Operating as ordinary messaging clients, WatchDog agents randomly select Edge nodes to relay challenge messages and earn rewards based on their challenge activities.
For more information about the agents and network architecture, please refer to Introducing the Edge, WatchDog, and Guardian Nodes.
Minimum System Requirements
Before diving into the setup process, let's make sure your system meets the necessary requirements to run a WatchDog agent efficiently. Here's what you'll need:
Hardware:
CPU: A CPU with ARM or x86-64 architecture is required. While a dual-core processor is the minimum, we recommend a quad-core or higher for the best performance.
Memory: At least 4GB of RAM.
Storage: A minimum of 100GB of free space. SSDs are preferred over HDDs for faster data access and better performance.
Operating System:
Recommended: Linux (Ubuntu 20.04 LTS)
Optional: Windows 10, MacOS 12.0 or above
Network:
Always-on 100 Mbps internet with a minimum 100 GB monthly data plan.
WatchDog Agent Deployment
WatchDog agents function like ordinary messaging clients that send and receive messages, so they do not require a public IP address like Edge nodes do. While they can be run on a laptop or PC, we recommend setting it up on a VPS for better stability.
We support deploying the WatchDog agent on Linux, macOS, and Windows. However, Linux is recommended. Please note that the Windows and macOS deployments are still in beta and may encounter issues.
You may deploy the node on a Virtual Private Server (VPS) with a Linux operating system. For details about setting up the VPS, see VPS setup guide. You don't need to configure any specific firewall policy for any ports for running watchdog agent.
Please refer to our tutorials below for deploying WatchDog agents. Should you encounter any issues or have questions, refer to the troubleshooting section at the end of this tutorial or seek support from the SendingNetwork community. Check our FAQ docs for common questions.
Next Steps
After finishing the installation, interact with our auto-reply bot on the SendingMe app to check your agent's stats. SendingMe is an all-in-one web3 instant messaging app built on top of SendingNetwork. Refer to Check Node Stats with Auto-Reply Bot in SendingMe for instructions on utilizing the bot to monitor your agent's performance.
Should you encounter any issues or have questions, don't hesitate to seek support from the SendingNetwork community.
Troubleshooting
Error: Unable to start WatchDog agent
There are several reasons why you might encounter this error:
Non-whitelisted Wallet Address:
Log Message:
Solution: Ensure you are using the correct whitelisted wallet address that you submitted in the Discord channel.
Restricted Area Deployment:
Log Message:
Solution: Mining is not supported in mainland China. Please make sure you are deploying the agent from a supported location.
Multiple Active Agents:
Log Message:
Solution: Only one active agent is allowed at a time per license NFT. If you run a second agent in a new location while the original one is still active, you will see this error. To run a new node in another location (such as a different directory or machine), follow these steps:
Stop the current agent according to the stop agent instructions.
Wait for 10 minutes.
Start the new agent in the desired location.
This will create a new agent ID, and points will be accrued with this new ID. Previous points will remain valid under the original agent ID.
Running the installation script with
sudo
:Log Message:
Solution: If you are running the script directly, please do NOT run it with
sudo
as it will impact the agent daemon process. Instead, you can run it under a common user account, or by usingsudo su
or the root account.For Linux, run the script with the following command:
For macOS, run the script with the following command:
Last updated