For upwards of 2 years, Tellor has been live on Ethereum mainnet. In an effort to facilitate a multi-chain ecosystem, the Tellor oracle has been re-implemented for the Algorand Virtual Machine (AVM). On Algorand, Tellor continues to be secure, decentralized, and easy to integrate.
The primary contracts of the Tellor oracle on Algorand are the feed contracts, the medianzier contracts, and the governance contract. At a high level, each price feed, or “queryId”, uses a “medianizer contract” to calculate the median between 5 independent data submissions on 5 independent “feed contracts”. Tellor on Algorand implements a vigilant governance contract that prevents bad actors from interfering with the security of price feeds.
In short, Tellor on Algorand is a secure, decentralized, and easy-to-use re-implementation of Tellor on Ethereum for the Algorand network. Tellor on Algorand serves to broaden the Tellor network and extend the Algorand ecosystem. This repo supplies the core contracts in PyTeal, contract interaction CLI scripts in python, and thorough testing in Pytest.
For more in-depth information about Tellor checkout our documentation, whitepaper and website.
This repo comes equipped with ready-to-go price feeds. This means reporting values from these feeds via the CLI requires no configuration beyond providing accounts. These are the most commonly used data feeds in DeFi (BTCUSD, ETHUSD, etc.). These feeds are listed under feeds
in the config.yml
file.
Just like on Ethereum, all Tellor contracts on Alogrand are open-source, freely available, and very forkable. Open-source deployment, testing, and contract interaction scripts in Python are supplied in the repo. These scripts can be called via the command line (very useful for github actions!), or via further python scripting. For CLI examples, see below.
An example walkthrough using the BTCUSD query id
Set up python environment
python3 -m venv venv
source activate venv
Install Dependencies
pip install -r requirements.txt
Test locally
python -m pytest
Deploy Bitcoin price feed contract
python -m src.scripts.deploy -qid BTCUSD -qd "bitcoin feed" -n devnet
Stake account (become data reporter)
python -m src.scripts.stake -n devnet
Report (submit value) BTCUSD price to contract
python -m src.scripts.report -qid BTCUSD -n devnet
This repository is maintained by the Tellor team
Check out our issues log here on Github or feel free to reach out anytime info@tellor.io
Tellor Inc. 2022