Reporting Options
Options to report or manage your reporter with Telliot
Last updated
Options to report or manage your reporter with Telliot
Last updated
You can check Telliot options running telliot --help
.
You can quickly do this using Fetch Dashbord's Staking section, but Telliot also has built in functions you can use.
Using telliot stake
you can stake additional tokens to your current stake. Select your account with -a
and --amount
for this, like this:
telliot stake -a <yourAccName> --amount 600000
It will ask you to confirm your password and it will deposit the extra amount you typed on top of your current stake amount. For example, if your previous amount was 500,000 and you use --amount 600000
you'll end up with 1,100,000 tokens deposited.
After staking you get a successful deposit transaction URL and telliot stops.
You can also stake using the -s
option while running the usual telliot report
command. Notice, though, that this option will only top up the amount you chose according to your current stake amount. If you type -s 600000
and have 500000 already staked, it will stake an additional 100000 only, topping up 500000 to the 600000 desired.
NOTE: If the reporter account's actual stake is reduced after a dispute, the reporter will attempt to stake the difference in FETCH to return to the original desired stake amount if the -s
is present.
To avoid this, run it without the -s
flag. It will stop reporting when it detects a deduction in stake amount, which may mean it got disputed.
To start the unstake process we use telliot request-withdraw
to put the tokens in the 7 days lock period state before actually withdrawing them. Process is similar to staking.
telliot request-withdraw -a <yourAccName> --amount 200000
After confirming the password you get a requestStakingWithdraw transaction URL if successful and Telliot stops.
Remember you can check Fetch Dashboard's Staking section for detailed info on the state of your locked balance and withdrawal.
To use Telliot to withdraw we need telliot withdraw
and the acc name. After the 7 days have passed, calling this function withdraws ALL the tokens in Locked Balance.
Everytime tokens in locked balance are moved, by unstaking or staking, the 7 days reset.
Be mindful of that and only unstake the amounts you actually won't need for the next 7 days and when you are sure you won't need to stake any more tokens to that reporter.
telliot withdraw -a <yourAccName>
If the 7 days are gone since you requested the withdraw, you'll get a transaction URL confirming the withdrawal. Otherwise, you'll get a revert saying the 7 days haven't passed yet.
To submit a simple single report, add the --submit-once
option, like this:
After one value is submitted to Fetch Oracle, the Telliot process will terminate.
To stop trying to report every 7 seconds, we can use the -wp
option and specify what interval, in seconds, we want Telliot to try to submit a report. Here' how:
Here, Telliot will submit the first report and then wait 3,600 seconds (1 hour) to try to submit the next one. If you are out of report lock period it will succeed, otherwise, it will try again 3,600 seconds later.
Telliot can submit when there's a percentage profit or usd profit from time based rewards and tips.
Using the -p
option we set 2 parameters: % and usd thresholds. If we don't want to check for profits and just submit we can use -p YOLO 0
which would report straight away and not check for profits at all.
By default Telliot checks for at least 100% profit. The profit is calculated using the FETCH price of fetch-usd-spot source against the gas cost to submit the transaction.
Check the .env file inside telliot-feeds
folder.
In testnet, the FETCH price is usually mocked to the launch price of 0.001. If you want to use the actual price from fetch-usd-spot source, remove the 0.001 value of the variable and leave it empty.
This is important for calculating profit and reporting fetch-usd-spot prices, especially in mainnet.
Here's a few examples:
telliot report -a <yourAccName> -qt pls-usd-spot -p 300 5
Here we're going to submit a report if the percentage profit is above 300% or $5 dollars. If one of these two conditions are met, it reports.
telliot report -a <yourAccName> -qt pls-usd-spot -p YOLO 0
If you leave the -qt
option out of the command, Telliot will try to report only when someone tips for an already existing tag. If the tip value matches your profit settings, it will try to submit.
To support the ecosystem and have a larger chance of getting time based rewards (by not clashing with another reporter submitting the same QueryID
as you at the same timestamp) you may want to report to multiple random feeds.
Use the -rf
option to report to a random feed from the list found in ~/telliot-feeds/src/telliot_feeds/feeds
directory. Open the file __init__.py
to check and edit the queries.
Look for the line containing RANDOM_FEEDS and the feeds listed there are the ones you'll be submitting, randomly, when using -rf
.
Comment out the ones you don't want to report to or add new ones from the CATALOG_FEEDS below it. Remember to save the file when you're done.
To report, the command line will look like this:
Telliot can report when some conditions are met, like a percent price change or when a price has become stale.
Enables reporting if there’s a percent change in the query tag selected.
Used with ‘conditional’ option, like this:
Above, if there’s a 10% change in price reported, it will try to report a new one:
If the feed is stale by X amount of seconds, it will trigger a report on the query tag selected. By default in the 'conditional' option it will consider a price stale after ~24h of no new reports.
Used with ‘conditional’ option, like this:
Use the build-a-feed
flag (--build-feed
) to build a DataFeed of a QueryType
with one or more QueryParameters
.
When reporting, the CLI will list the QueryTypes
this flag supports. To select a QueryType
, enter a number from the list provided. Then, enter the corresponding QueryParameters
for the QueryType
you have selected.
This way you'll be submitting a manual value to Fetch Oracle. Be mindful of submitting thrustful values, otherwise you may get disputed by others!