Installing Telliot

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

If you experience ANY issues during the installation and setup please do not hesitate to reach out via the Fetch Telegram Support 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 PulseChain Faucet.

    • 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 here 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 here

Running the install 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!

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

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:

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:

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/

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

nano ~/telliot/endpoints.yaml

Last updated