Fetch Oracle
  • Welcome to Fetch
  • THE BASICS
    • What Problem Does Fetch Solve?
    • What Can You Do With Fetch?
    • The FETCH Token
    • Staking
    • Contracts Overview
    • Contract Addresses
    • Contributing
    • Audits
  • REPORTING DATA
    • How to Report Data
    • Requirements
      • (Optional) Using Cloud Hosting
    • Installing Telliot
      • Adding Accounts
      • MAC Virtual Machine with UTM
    • Reporting With Telliot
      • Reporting Options
      • Discord Notifications
    • Gas Fees
    • Add support for a new spot price
  • GETTING DATA
    • Tipping
    • Receiving Data From Fetch
    • Solidity
    • User Checklists
    • Testnet
    • Creating a Query
  • VOTES & DISPUTES
    • Voting
    • Disputing
    • Introduction to DVM
      • Installing DVM
      • Monitoring
  • OPTIONAL CONFIGS
    • Claim Tip Script ENV Config
  • Connect
    • Whitepaper
    • Telegram
    • Twitter/X
    • YouTube
Powered by GitBook
On this page
  • Prerequisites:
  • Install Script
  • Running the install script
  • Confirming installation was successful
  • Upgrade
  • Configure Endpoints
  1. REPORTING DATA

Installing Telliot

How to install the Reporter (Telliot) and a Disputable Values Monitor (DVM) .

Previous(Optional) Using Cloud HostingNextAdding Accounts

Last updated 1 month ago

If you experience ANY issues during the installation and setup please do not hesitate to reach out via the group!

Prerequisites:

  • Some tPLS (if you're testing it on Testnet) for paying gas fees. If you need tPLS, you can obtain some via the .

    • If you are reporting to Mainnet, you'll need regular PLS.

  • A Linux distribution or macOS on your machine, as they are both Unix-based (Ubuntu 22.04 / 24.04 and MAC M1 Ubuntu VM were tested). Windows is not currently supported.

  • To install in a mac we recommend using a virtual machine to make sure everything is aligned with this tutorial. Check for quick steps on how to set up one.

  • Running Telliot and a DVM is fairly lightweight and does not require significant computing power. A single core machine with 1 GB RAM should be enough to get started. It's also highly recommended to run this software on a Virtual Machine, fresh cloud server instance from AWS, Digital Ocean, or other providers.

Install Script

Helper to install telliot and get up and running in no time.

Script is supposed to run in linux bash, like, Ubuntu.

curl -O https://raw.githubusercontent.com/fetchoracle/telliot-install-script/refs/heads/main/install.sh && chmod +x install.sh && ./install.sh && cd && cd telliot-feeds && source venv/bin/activate

You can check the full script

Running the install script

If you are you need to remove/rename the telliot-feeds and telliot folder that is created in /Home, before running this script.

Simply copy and run the full line above in your terminal to clone the repositories and install telliot-feeds, telliot-core and, optionally, disputable-values-monitor.

Follow the on screen instructions carefully and give permission for needed dependencies.

'Mainnet' is the default option to choose for a stable version.

During installation you may be asked permission to install python and update the system.

That's it! Everything should be installed and ready to go!

Confirming installation was successful

After installing, the command you pasted will try to enter telliot-feeds folder and activate the venv environment with source venv/bin/activate automatically.

Confirm you are in it by checking for (venv) in the cli:

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.

Through the command line you can use cd <name of folder> to enter a folder and cd .. to move one folder up (go back).

Now, inside the folder, run telliot --help. If you see the help instructions for Telliot, its installation was successful.

If you installed DVM, to check it, cd disputable-values-monitor from the telliot-feeds folder.

Inside DVM folder, run cli --help. If you see the help page for the DVM, installation was successful.

Upgrade

Delete telliot-feeds and telliot folder inside your Home directory and just run the install script again to update Telliot. Your accounts will remain saved in the chained_accounts folder, in /home, so no need to add them after installation.

If you are a more advanced user and has made changes locally to Telliot, you can upgrade it with regular git pull to fetch the latest changes from the branches you're using and install the packages with pip install -e .. Repeat this process in telliot-feeds, telliot-core and disputable-values-monitor folders.

To run both versions, you may change the name of telliot-feeds and telliot folders in /home, although this it not recommended.

Make sure to check your .env and .env.example file after an upgrade if you have made previous changes to it!

There may be new variables to set up in .env.example

Configure Endpoints

You can check your endpoints config running telliot config show.

The default configuration for the endpoints can be found in ~/telliot/endpoints.yaml:

Tip: DVM will monitor all chains in this folder. Comment out or remove the ones you don't want it to be listening for new events.

It's recommended to run a single DVM per instance for monitoring on the same chain you are reporting.

If you plan to use DVM or Telliot to monitor/report to different chains, we advise to run each service on different instances for better compatibility.

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/

Below is an example with PulseChain testnet commented (removed):

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/
nano ~/telliot/endpoints.yaml

Check here how to and make sure to edit your desired to use.

You can add your RPC endpoints by editing the endpoints.yaml file. Here's an example command using the text editor to edit the YAML file directly:

nano
Fetch Telegram Support
PulseChain Faucet
here
here
updating/reinstalling
upgrade
endpoints
(venv) displayed at the beginning of the line and inside telliot-feeds folder
Successful Telliot install
Successful DVM install