At-home watchtowers

Steps to run a Witness Chain watchtower client to validate location claims

The PoL Watchtower Client Node participates in the Proof-of-Location (PoL) protocol by verifying location claims made by network nodes.

Watchtower nodes can run on community members' laptops, desktops, or cloud instances. Nodes are selected to participate in PoL watchtowers via a probabilistic algorithm.

Prerequisites

  • Docker: Version 23.0.0 or higher (Install Docker).

  • Instance: Minimum t2.micro equivalent (1 vCPU, 1GB RAM, 5GB disk). Recommended: 2 cores, 4GB RAM, 10GB disk.

  • ECDSA KeyPair ( This video demonstrates how you can use MetaMask to export one ). This will be used for registration & signing purposes.

  • Ports to Open (for public IP only)

    • Incoming (TCP & UDP): 11112, 22223, 33334-33336, 44445-44447, 55556

    • Outgoing: Allow all.

Running the Watchtower Client

1. Configuring watchtower.env File

  • Create a watchtower.env configuration file with the following example entries.

  • If you are running this at home and DON'T have a public IP, you need to change the following entries only in the watchtower.env file

    • latitude, longitude, region, privateKey, walletPublicKey

latitude=37.0151
longitude=-79.0392
radius=1000
privateKey=<your_private_key>
walletPublicKey=<your_public_key>
saveResultsInDatabase=false
submitResultsToContract=false
rpcUrl=https://rpc.witnesschain.com

You can get detailed explanation about these parameters here

Latitude and Longitude are optional. If not provided, they will be automatically determined based on the approximate location of the IP address. However it's recommended to be set for better accuracy.

2. Running the Watchtower Client

Start the challenger client:

Verify the client is running:

If you see an error about "registration required on DCL contract," make sure to complete the watchtower key registration.

Post-Setup

Check logs using:

Once the client is ready, you're part of Witness Chain's Watchtower family!

Troubleshooting

The days might be rainy or snowy, but we've got umbrellas and sweaters!. For support, join our Discord or reach out on Telegram.

FAQs

What do the parameters in watchtower.env mean ?

What do the parameters in the docker run mean?

docker run -d: Runs the container in detached mode (in the background).


Last updated