Installing DVM

How to install, configue, and run a DVM

Prerequisites:

Follow the install instructions from Installing Telliot and choose the option to install DVM when running the script. [If you are a more advanced user, you can clone the DVM repo inside telliot-feeds folder, enter venv environment, cd into dvm folder and install it with pip install -e .]

Once installed, make sure you're in python's virtual environment (venv):

Everytime you run Telliot or DVM you need to enter this virtual environment. To enter it, go to telliot-feeds folder and run source venv/bin/activate. To exit it, run deactivate.

Navigate to the disputable-values-monitor directory installed on your machine, under telliot-feeds folder:

cd ~/telliot-feeds/disputable-values-monitor/

Before running the DVM it may be useful to check the .env file inside telliot-feeds. That's where the variables for DVM are stored and where you'll set your Discord Webhook for alerts.

It's also important to check your telliot folder in Home. Open the endpoints.yaml file and comment out the endpoints you're not going to use.

For example, if you're going to be reporting and monitoring only pulsechain Mainnet, comment out (with a '#') the endpoints for Testnet or any other ones that may be present.

Remember DVM will be scanning all chains in this folder for events.

type: EndpointList
endpoints:
#- type: RPCEndpoint
 # chain_id: 943
  #network: Pulsechain Testnet
  #provider: Pulsechain
  #url: https://rpc.v4.testnet.pulsechain.com
  #explorer: https://scan.v4.testnet.pulsechain.com/
- type: RPCEndpoint
  chain_id: 369
  network: Pulsechain Mainnet
  provider: Pulsechain
  url: https://rpc.pulsechain.com
  explorer: https://scan.pulsechain.com/

You may do it later, but DVM won't send alerts or check for extra features.

Always stop all services if editing .env files or parameters for DVM or Telliot, in case you have both running.

It's recommended, if possible, to run each service on different machines.

Dispute Mode

To start the DVM in dispute mode, run the following command:

cli -d -a <yourAccName>

Alerts

To enable Discord alerts you need to set up the .env file inside telliot-feeds with your discord webhook.

If you don't have a Discord webhook, here's Discord's official tutorial on how to get one following quick easy steps.

Alerts Only

To send alerts only, start the DVM running:

cli

The console will ask if you want to run alerts only. Type "y" and press enter.

The DVM will then monitor the queries you set in the disputer-config.yaml file, inside the dvm folder, and will NOT dispute them if they meet their thresholds. It will only send alerts according to your specification.

The console screen doesn't change until there's a new report submitted. After that, a table with detailed info on the reports will take place.

Run cli --help for a help guide on DVM options available.

Last updated