From b8a29960fb9cae00f4e5c9d3a98fe8922d5142ac Mon Sep 17 00:00:00 2001 From: Hhio618 Date: Wed, 2 Dec 2020 11:02:11 +0330 Subject: [PATCH 1/3] arrange docs --- docs/{miner.md => 01_miner.md} | 0 docs/{the-guide.md => 02_the-guide.md} | 0 docs/{configuation.md => 03_configuation.md} | 0 docs/{contributing.md => 04_contributing.md} | 0 docs/{coding-style-guide.md => 05_coding-style-guide.md} | 0 docs/{miner-reference.md => 06_miner-reference.md} | 0 docs/{release-process.md => 07_release-process.md} | 0 docs/{CHANGELOG.md => 08_CHANGELOG.md} | 0 docs/{disclaimer.md => 09_disclaimer.md} | 0 9 files changed, 0 insertions(+), 0 deletions(-) rename docs/{miner.md => 01_miner.md} (100%) rename docs/{the-guide.md => 02_the-guide.md} (100%) rename docs/{configuation.md => 03_configuation.md} (100%) rename docs/{contributing.md => 04_contributing.md} (100%) rename docs/{coding-style-guide.md => 05_coding-style-guide.md} (100%) rename docs/{miner-reference.md => 06_miner-reference.md} (100%) rename docs/{release-process.md => 07_release-process.md} (100%) rename docs/{CHANGELOG.md => 08_CHANGELOG.md} (100%) rename docs/{disclaimer.md => 09_disclaimer.md} (100%) diff --git a/docs/miner.md b/docs/01_miner.md similarity index 100% rename from docs/miner.md rename to docs/01_miner.md diff --git a/docs/the-guide.md b/docs/02_the-guide.md similarity index 100% rename from docs/the-guide.md rename to docs/02_the-guide.md diff --git a/docs/configuation.md b/docs/03_configuation.md similarity index 100% rename from docs/configuation.md rename to docs/03_configuation.md diff --git a/docs/contributing.md b/docs/04_contributing.md similarity index 100% rename from docs/contributing.md rename to docs/04_contributing.md diff --git a/docs/coding-style-guide.md b/docs/05_coding-style-guide.md similarity index 100% rename from docs/coding-style-guide.md rename to docs/05_coding-style-guide.md diff --git a/docs/miner-reference.md b/docs/06_miner-reference.md similarity index 100% rename from docs/miner-reference.md rename to docs/06_miner-reference.md diff --git a/docs/release-process.md b/docs/07_release-process.md similarity index 100% rename from docs/release-process.md rename to docs/07_release-process.md diff --git a/docs/CHANGELOG.md b/docs/08_CHANGELOG.md similarity index 100% rename from docs/CHANGELOG.md rename to docs/08_CHANGELOG.md diff --git a/docs/disclaimer.md b/docs/09_disclaimer.md similarity index 100% rename from docs/disclaimer.md rename to docs/09_disclaimer.md From 0c38677ff07749d2a56cb188364855f6e4bdb921 Mon Sep 17 00:00:00 2001 From: Hhio618 Date: Wed, 2 Dec 2020 12:36:32 +0330 Subject: [PATCH 2/3] fix internal links --- docs/04_contributing.md | 4 ++-- docs/07_release-process.md | 4 ++-- docs/README.md | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/04_contributing.md b/docs/04_contributing.md index ce671d24..f3ce95e5 100755 --- a/docs/04_contributing.md +++ b/docs/04_contributing.md @@ -29,7 +29,7 @@ method before making a change. The following section explains various suggestions and procedures to note during development. ### First Steps -* Familiarizing yourself with our [coding style guidelines.](coding-style-guide.md). +* Familiarizing yourself with our [coding style guidelines.](05_coding-style-guide.md). * Familiarizing yourself with the [Makefile](../Makefile) commands, for example, `build`, `format`, `test`, `lint`. `make help` will print all available commands with some description. @@ -59,7 +59,7 @@ $ $ git push fork ``` -1. If your change affects users (adds,removes or changes a feature) add the item to the [CHANGELOG](CHANGELOG.md). +1. If your change affects users (adds,removes or changes a feature) add the item to the [CHANGELOG](08_CHANGELOG.md). 1. Add e2e tests for new features and changes to functionality. Add unit tests for key components of the packages. 1. A PR will me merged once the PR has been approved by at least one developer with write access. 1. If you feel like your PR is waiting too long for a review, feel free to ping in the [Discord](https://discord.gg/n7drGjh) channel for a review! diff --git a/docs/07_release-process.md b/docs/07_release-process.md index d1637c11..a829c2f5 100755 --- a/docs/07_release-process.md +++ b/docs/07_release-process.md @@ -42,11 +42,11 @@ later follow-up. # Cutting a release -## Update `CHANGELOG.md` +## Update `08_CHANGELOG.md` Do this in a PR against `master` as this gives others the opportunity to chime in on the release and the changelog changes. Note: -> that `CHANGELOG.md` should only document changes relevant to users of the project, including external API changes, performance improvements, and new features. Do not document changes of internal interfaces, code refactorings and clean-ups, changes to the build process, etc. People interested in these are asked to refer to the git history. +> that `08_CHANGELOG.md` should only document changes relevant to users of the project, including external API changes, performance improvements, and new features. Do not document changes of internal interfaces, code refactorings and clean-ups, changes to the build process, etc. People interested in these are asked to refer to the git history. ## Draft the new release On `master` tag the current commit as a new release via the following commands: diff --git a/docs/README.md b/docs/README.md index f9093ffa..a56d181e 100755 --- a/docs/README.md +++ b/docs/README.md @@ -36,11 +36,11 @@ A list of all PSR's(pre specified requests) and the expected data can be found [ ## Instructions for deployment - - [Telliot Instructions](the-guide.md) + - [Telliot Instructions](02_the-guide.md) ## Contributing and building from source Contributions are very welcome!
-See our [contributing.md](contributing.md) for more information. +See our [04_contributing.md](04_contributing.md) for more information. ## Run with Docker Available tags: https://hub.docker.com/u/tellor From 7436288c0443ace6edd7c4c477e97e05f9227009 Mon Sep 17 00:00:00 2001 From: Hhio618 Date: Wed, 2 Dec 2020 23:57:09 +0330 Subject: [PATCH 3/3] arrange/merge docs --- ...{02_the-guide.md => 00_setup-and-usage.md} | 23 ++- docs/01_configuation.md | 178 ++++++++++++++++++ docs/01_miner.md | 21 --- docs/03_configuation.md | 116 ------------ ...{04_contributing.md => 03_contributing.md} | 4 +- ...tyle-guide.md => 04_coding-style-guide.md} | 0 ...lease-process.md => 05_release-process.md} | 4 +- docs/06_miner-reference.md | 66 ------- docs/09_disclaimer.md | 10 - docs/{08_CHANGELOG.md => CHANGELOG.md} | 0 docs/README.md | 19 +- 11 files changed, 215 insertions(+), 226 deletions(-) rename docs/{02_the-guide.md => 00_setup-and-usage.md} (68%) create mode 100644 docs/01_configuation.md delete mode 100644 docs/01_miner.md delete mode 100644 docs/03_configuation.md rename docs/{04_contributing.md => 03_contributing.md} (96%) rename docs/{05_coding-style-guide.md => 04_coding-style-guide.md} (100%) rename docs/{07_release-process.md => 05_release-process.md} (88%) delete mode 100644 docs/06_miner-reference.md delete mode 100644 docs/09_disclaimer.md rename docs/{08_CHANGELOG.md => CHANGELOG.md} (100%) diff --git a/docs/02_the-guide.md b/docs/00_setup-and-usage.md similarity index 68% rename from docs/02_the-guide.md rename to docs/00_setup-and-usage.md index a593057f..69737813 100644 --- a/docs/02_the-guide.md +++ b/docs/00_setup-and-usage.md @@ -2,7 +2,22 @@ description: Here are the nuts and bolts for mining TRB. --- -# The Guide +# Setup and usage + +## Become a Miner + +For over a decade now, the Bitcoin network has shown how proof-of-work can incentivize individuals and companies to compete for the honor of finding block rewards and achieving consensus. This phenomenon is global, and anonymous. The network is democratized and decentralized, because the creators have no direct control over who is providing computing power on their network. + +Tellor takes this concept and applies it directly to the delivery of oracle data. Anyone who is able may start up telliot and begin competing for blocks. There is no whitelisting. Miners compete very much the same way that Bitcoin miners do, but with a twist. _Tellor Miners must also run a database from which to pull values to submit to the Tellor oracle._ When a "block" is found, the winners submit their data. + +Mining is one of the most exciting ways to help Tellor grow and become a leader in the DeFi / Oracle space. Here are a few things to consider before jumping in: + +As of now, mining requires you deposit 500 Tellor Tributes. These are a security deposit. If you are a malicious actor \(aka submit a bad value\), the community can vote to slash your 500 tokens. + +* Mining requires access to an Ethereum node. If you don’t have your own node, you can use an Infura API endpoint. +* Miners must hold a balance of ETH to cover gas fees, which can be significant. Please reach out to the community to find the best tips for keeping gas costs under control. + +The guide that follows assumes that you have access to a suitable machine running linux to use for mining. For information about what constitutes a "suitable machine", we recommend reaching out to the community. ## Download the Latest telliot @@ -143,3 +158,9 @@ Where 5 and .01 are the defaults, the variables are the amount of time in minute If the disputer is successful and finds a submitted outside of your acceptable range, a text file containing pertinent information will be created in your working directory \(the one you're running the miner out of\) in the format: `"possible-dispute-(blocktime).txt"` +# Disclaimer + +If you are building a competing client, please contact us. A lot of the miner specifications are off-chain and a significant portion of the mining process hinges on the consensus of the Tellor community to determine what proper values are. Competing clients that change different pieces run the risk of being disputed by the community. + +As an example, request ID 4 is BTC/USD. If the api's all go down, it is the responsibility of the miner to still submit a valid BTC/USD price. If they do not, they risk being disputed and slashed. For these reasons, please contribute openly to the official Tellor miner \(or an open source variant\), as consensus here is key. If your miner gets a different value than the majority of the other miners, you risk being punished! + diff --git a/docs/01_configuation.md b/docs/01_configuation.md new file mode 100644 index 00000000..da58991c --- /dev/null +++ b/docs/01_configuation.md @@ -0,0 +1,178 @@ +--- +description: Telliot tweaks and settings to keep your rig running smoothly. +--- +# Telliot configuration +## Cli reference +Telliot commands and config file options are as the following: +#### Required Flags + +* `--config` \(path to your config file.\) + +#### Telliot Commands + +* `--logConfig` \(location of logging config file; default path is current directory\) +* `mine` \(indicates to run the miner\) +* `mine -r` \(indicates to mine utilizing a remote server\) +* `dataserver` \(indicates to run the dataServer \(no mining\)\) +* `transfer` \(AMOUNT\) \(TOADDRESS\) \(indicates transfer, toAddress is Ethereum address and amount is number of Tributes \(eg. transfer 10 0xea... \(this transfers 10 tokens\)\)\) +* `approve` \(AMOUNT\) \(TOADDRESS\) \(ammount to approve the toaddress to send this amount of tokens +* `stake deposit` \(indicates to deposit 1000 tokens in the contract\) +* `stake request` \(indicates you wish to withdraw your stake\) +* `stake withdraw` \(withdraws your stake, run 1 week after request\) +* `stake status` \(shows your staking balance\) +* `balance` \(shows your balance\) + +#### Config file options: + +* `contractAddress` \(required\) - address of TellorContract +* `nodeURL` \(required\) - node URL \(e.g https://mainnet.infura.io/bbbb or https://localhost:8545 if own node\) +* `privateKey` \(required\) - privateKey for your address +* `databaseURL` \(required\) - where you are reading from for the server database \(if hosted\) +* `publicAddress` \(required\) - public address for your miner \(note, no 0x\) +* `ethClientTimeout` \(required\) - timeout for making requests from your node +* `trackerCycle` \(required\) - how often your database updates \(in seconds\) +* `trackers` \(required\) - which pieces of the database you update +* `dbFile` \(required\) - where you want to store your local database \(if self-hosting\) +* `serverHost` \(required\) - location to host server +* `serverWhitelist` \(required\) - whitelists which publicAddress can access the data server +* `fetchTimeout` - timeout for requesting data from an API +* `requestData` - sets wether your miner request data if challenge is 0. If yes, then you will addTip\(\) to this number. Enter a uint number representing request id to be requested \(e.g. 2\) +* `requestDataInterval` - min frequency at which to request data at \(in seconds, default 30\) +* `gasMultiplier` - Multiplies the submitted gasPrice \(e.g. 2 will double gas costs\) +* `gasMax` - a max for the gas price in gwei \(note: this max comes BEFORE the gas multiplier. So a max gas cost of 10 gwei, can have gas prices up to 20 if gasMultiplier is 2\) +* `heartbeat` - an integer that controls how frequently the miner process should report the hashrate \(larger is less frequent, try 1000000 to start\) +* `numProcessors` - an integer number of CPU cores/threads to use for mining. \(cpu mining is disabled if there is a suitable GPU is found +* `disputeTimeDelta` - how far back to store values for min/max range - default 5 \(in minutes\) +* `disputeThreshold` - percentage of acceptable range outside min/max for dispute checking - default +* `psrFolder` - folder location holding your psr.json file, default working directory + +## Configuation + +### useGPU + +If you have one or more GPUs, they will be used for mining by default. Currently only Nvidia cards are supported, and the default behavior will work well for miners. + +You can configure your GPUs as you wish by adding / editing the following lines in your config.json file: + +```text +"useGPU":true, + "gpuConfig":{ + "default":{ + "groupSize":256, + "groups":4096, + "count":16 + } + }, +``` + +If you have multiple GPUs connected, you can specify different config settings for each card in the following format: + +```text +"gpuConfig":{ + "":{ + "groupSize":256, + "groups":4096, + "count":16 + }, + "":{ + "groupSize":256, + "groups":4096, + "count":16 + }, + "":{ + "disabled":true + }, + + } +``` + +Replace "GPUName1" with system name for each card. On most systems you can get a list of GPUs with `nvidia-smi -l` + +You may edit the variables to try to improve hashrate for your GPU model: + +* disabled: boolean on whether or not to disable a specific GPU +* groupSize - number of groups to split work into +* groups - number of groups of work submitted to the gpu at once +* count: number of hashes each thread executes in one pass + +{% hint style="info" %} +Edit these variables at your own risk! Reach out to the community if you're unsure. +{% endhint %} + +### Connecting to a Pool + +There are mining pools available for mining TRB without staking 500 tokens. The pool server operator stakes 500 tokens for you, and you receive rewards roughly proportional to your hashrate as a fraction of the pool's hashrate. + +{% hint style="info" %} +Each pool as different fees and instructions for hooking up. Be sure to read your pools documentation. Feel free to reach out to the community if you need help with mining pools. +{% endhint %} + +Add the following lines to your config file: + +```text +"enablePoolWorker": true, +"poolURL": "", +``` + +Where the poolURL is the link to your pool. \(e.g. [http://tellorpool.org](http://tellorpool.org) \) + +You can change the job duration if needed. This is the time in seconds to grab information from the pool. The default time is 15 seconds. + +```text +"poolJobDuration":10 +``` + +### Running a Remote Data Server for Multiple Miners + +{% hint style="info" %} +If you are setting up a Tellor miner for the first time, it might be a good idea to skip this section and come back after you're up and running with one miner. +{% endhint %} + +If you are running multiple miners, there is no reason to run multiple databases \(the values you will submit should be identical\). In addition, querying the same API from multiple processes can lead to rate limits on the public API's. To get around this, you can utilize a system where you run one. + +`tellor dataServer` + +You can then start multiple miners that all read off the one database. + +`tellor mine -r` + +Create a config file for the dataServer and add the public addresses of all remote miners that want to read the database: \(0x prefix is retained here\) + +```text + “serverWhitelist”: [ + "0xyour-miner-address1", + "0xyour-miner-address2" + ] +``` + +Create a separate copy of config.json for each miner and edit these to match your miner's characteristics. + +In both your miner and dataServer config files, you must change the IP addresses to match the server and port you are hosting/reading from. + +```text + "serverHost": "1.2.3.4", + "serverPort": 5000, +``` + +Note that your dataServer and miners must be started with separate commands. + +For more detailed instructions:[ https://docs.google.com/document/d/1k8ELb1cXkEpztHkHUt8QTL4JCcnHw5\_yQjTKIHCaSCE](https://docs.google.com/document/d/1k8ELb1cXkEpztHkHUt8QTL4JCcnHw5_yQjTKIHCaSCE) + + +### LogConfig file options + +The logging.config file consists of two fields: \* component \* level + +The component is the package.component combination. + +E.G. the Runner component in the tracker package would be: tracker.Runner + +To turn on logging, add the component and the according level. Note the default level is "INFO", so to turn down the number of logs, enter "WARN" or "ERROR" + +DEBUG - logs everything in INFO and additional developer logs + +INFO - logs most information about the mining operation + +WARN - logs all warnings and errors + +ERROR - logs only serious errors \ No newline at end of file diff --git a/docs/01_miner.md b/docs/01_miner.md deleted file mode 100644 index ca8891ae..00000000 --- a/docs/01_miner.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -description: >- - Use your compute power to help secure Tellor's decentralized data feeds. - Receive rewards in TRB. ---- - -# Become a Miner - -For over a decade now, the Bitcoin network has shown how proof-of-work can incentivize individuals and companies to compete for the honor of finding block rewards and achieving consensus. This phenomenon is global, and anonymous. The network is democratized and decentralized, because the creators have no direct control over who is providing computing power on their network. - -Tellor takes this concept and applies it directly to the delivery of oracle data. Anyone who is able may start up telliot and begin competing for blocks. There is no whitelisting. Miners compete very much the same way that Bitcoin miners do, but with a twist. _Tellor Miners must also run a database from which to pull values to submit to the Tellor oracle._ When a "block" is found, the winners submit their data. - -Mining is one of the most exciting ways to help Tellor grow and become a leader in the DeFi / Oracle space. Here are a few things to consider before jumping in: - -As of now, mining requires you deposit 500 Tellor Tributes. These are a security deposit. If you are a malicious actor \(aka submit a bad value\), the community can vote to slash your 500 tokens. - -* Mining requires access to an Ethereum node. If you don’t have your own node, you can use an Infura API endpoint. -* Miners must hold a balance of ETH to cover gas fees, which can be significant. Please reach out to the community to find the best tips for keeping gas costs under control. - -The guide that follows assumes that you have access to a suitable machine running linux to use for mining. For information about what constitutes a "suitable machine", we recommend reaching out to the community. - diff --git a/docs/03_configuation.md b/docs/03_configuation.md deleted file mode 100644 index cdf46682..00000000 --- a/docs/03_configuation.md +++ /dev/null @@ -1,116 +0,0 @@ ---- -description: Tweaks and settings to keep your rig running smoothly. ---- - -# Configuation - -## useGPU - -If you have one or more GPUs, they will be used for mining by default. Currently only Nvidia cards are supported, and the default behavior will work well for miners. - -You can configure your GPUs as you wish by adding / editing the following lines in your config.json file: - -```text -"useGPU":true, - "gpuConfig":{ - "default":{ - "groupSize":256, - "groups":4096, - "count":16 - } - }, -``` - -If you have multiple GPUs connected, you can specify different config settings for each card in the following format: - -```text -"gpuConfig":{ - "":{ - "groupSize":256, - "groups":4096, - "count":16 - }, - "":{ - "groupSize":256, - "groups":4096, - "count":16 - }, - "":{ - "disabled":true - }, - - } -``` - -Replace "GPUName1" with system name for each card. On most systems you can get a list of GPUs with `nvidia-smi -l` - -You may edit the variables to try to improve hashrate for your GPU model: - -* disabled: boolean on whether or not to disable a specific GPU -* groupSize - number of groups to split work into -* groups - number of groups of work submitted to the gpu at once -* count: number of hashes each thread executes in one pass - -{% hint style="info" %} -Edit these variables at your own risk! Reach out to the community if you're unsure. -{% endhint %} - -## Connecting to a Pool - -There are mining pools available for mining TRB without staking 500 tokens. The pool server operator stakes 500 tokens for you, and you receive rewards roughly proportional to your hashrate as a fraction of the pool's hashrate. - -{% hint style="info" %} -Each pool as different fees and instructions for hooking up. Be sure to read your pools documentation. Feel free to reach out to the community if you need help with mining pools. -{% endhint %} - -Add the following lines to your config file: - -```text -"enablePoolWorker": true, -"poolURL": "", -``` - -Where the poolURL is the link to your pool. \(e.g. [http://tellorpool.org](http://tellorpool.org) \) - -You can change the job duration if needed. This is the time in seconds to grab information from the pool. The default time is 15 seconds. - -```text -"poolJobDuration":10 -``` - -## Running a Remote Data Server for Multiple Miners - -{% hint style="info" %} -If you are setting up a Tellor miner for the first time, it might be a good idea to skip this section and come back after you're up and running with one miner. -{% endhint %} - -If you are running multiple miners, there is no reason to run multiple databases \(the values you will submit should be identical\). In addition, querying the same API from multiple processes can lead to rate limits on the public API's. To get around this, you can utilize a system where you run one. - -`tellor dataServer` - -You can then start multiple miners that all read off the one database. - -`tellor mine -r` - -Create a config file for the dataServer and add the public addresses of all remote miners that want to read the database: \(0x prefix is retained here\) - -```text - “serverWhitelist”: [ - "0xyour-miner-address1", - "0xyour-miner-address2" - ] -``` - -Create a separate copy of config.json for each miner and edit these to match your miner's characteristics. - -In both your miner and dataServer config files, you must change the IP addresses to match the server and port you are hosting/reading from. - -```text - "serverHost": "1.2.3.4", - "serverPort": 5000, -``` - -Note that your dataServer and miners must be started with separate commands. - -For more detailed instructions:[ https://docs.google.com/document/d/1k8ELb1cXkEpztHkHUt8QTL4JCcnHw5\_yQjTKIHCaSCE](https://docs.google.com/document/d/1k8ELb1cXkEpztHkHUt8QTL4JCcnHw5_yQjTKIHCaSCE) - diff --git a/docs/04_contributing.md b/docs/03_contributing.md similarity index 96% rename from docs/04_contributing.md rename to docs/03_contributing.md index f3ce95e5..d42317a8 100755 --- a/docs/04_contributing.md +++ b/docs/03_contributing.md @@ -29,7 +29,7 @@ method before making a change. The following section explains various suggestions and procedures to note during development. ### First Steps -* Familiarizing yourself with our [coding style guidelines.](05_coding-style-guide.md). +* Familiarizing yourself with our [coding style guidelines.](04_coding-style-guide.md). * Familiarizing yourself with the [Makefile](../Makefile) commands, for example, `build`, `format`, `test`, `lint`. `make help` will print all available commands with some description. @@ -59,7 +59,7 @@ $ $ git push fork ``` -1. If your change affects users (adds,removes or changes a feature) add the item to the [CHANGELOG](08_CHANGELOG.md). +1. If your change affects users (adds,removes or changes a feature) add the item to the [CHANGELOG](CHANGELOG.md). 1. Add e2e tests for new features and changes to functionality. Add unit tests for key components of the packages. 1. A PR will me merged once the PR has been approved by at least one developer with write access. 1. If you feel like your PR is waiting too long for a review, feel free to ping in the [Discord](https://discord.gg/n7drGjh) channel for a review! diff --git a/docs/05_coding-style-guide.md b/docs/04_coding-style-guide.md similarity index 100% rename from docs/05_coding-style-guide.md rename to docs/04_coding-style-guide.md diff --git a/docs/07_release-process.md b/docs/05_release-process.md similarity index 88% rename from docs/07_release-process.md rename to docs/05_release-process.md index a829c2f5..d1637c11 100755 --- a/docs/07_release-process.md +++ b/docs/05_release-process.md @@ -42,11 +42,11 @@ later follow-up. # Cutting a release -## Update `08_CHANGELOG.md` +## Update `CHANGELOG.md` Do this in a PR against `master` as this gives others the opportunity to chime in on the release and the changelog changes. Note: -> that `08_CHANGELOG.md` should only document changes relevant to users of the project, including external API changes, performance improvements, and new features. Do not document changes of internal interfaces, code refactorings and clean-ups, changes to the build process, etc. People interested in these are asked to refer to the git history. +> that `CHANGELOG.md` should only document changes relevant to users of the project, including external API changes, performance improvements, and new features. Do not document changes of internal interfaces, code refactorings and clean-ups, changes to the build process, etc. People interested in these are asked to refer to the git history. ## Draft the new release On `master` tag the current commit as a new release via the following commands: diff --git a/docs/06_miner-reference.md b/docs/06_miner-reference.md deleted file mode 100644 index 2ae4b1ed..00000000 --- a/docs/06_miner-reference.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -description: Telliot commands and config file options are found here. ---- - -# Reference - -#### Required Flags - -* `--config` \(path to your config file.\) - -#### Telliot Commands - -* `--logConfig` \(location of logging config file; default path is current directory\) -* `mine` \(indicates to run the miner\) -* `mine -r` \(indicates to mine utilizing a remote server\) -* `dataserver` \(indicates to run the dataServer \(no mining\)\) -* `transfer` \(AMOUNT\) \(TOADDRESS\) \(indicates transfer, toAddress is Ethereum address and amount is number of Tributes \(eg. transfer 10 0xea... \(this transfers 10 tokens\)\)\) -* `approve` \(AMOUNT\) \(TOADDRESS\) \(ammount to approve the toaddress to send this amount of tokens -* `stake deposit` \(indicates to deposit 1000 tokens in the contract\) -* `stake request` \(indicates you wish to withdraw your stake\) -* `stake withdraw` \(withdraws your stake, run 1 week after request\) -* `stake status` \(shows your staking balance\) -* `balance` \(shows your balance\) - -#### Config file options: - -* `contractAddress` \(required\) - address of TellorContract -* `nodeURL` \(required\) - node URL \(e.g https://mainnet.infura.io/bbbb or https://localhost:8545 if own node\) -* `privateKey` \(required\) - privateKey for your address -* `databaseURL` \(required\) - where you are reading from for the server database \(if hosted\) -* `publicAddress` \(required\) - public address for your miner \(note, no 0x\) -* `ethClientTimeout` \(required\) - timeout for making requests from your node -* `trackerCycle` \(required\) - how often your database updates \(in seconds\) -* `trackers` \(required\) - which pieces of the database you update -* `dbFile` \(required\) - where you want to store your local database \(if self-hosting\) -* `serverHost` \(required\) - location to host server -* `serverWhitelist` \(required\) - whitelists which publicAddress can access the data server -* `fetchTimeout` - timeout for requesting data from an API -* `requestData` - sets wether your miner request data if challenge is 0. If yes, then you will addTip\(\) to this number. Enter a uint number representing request id to be requested \(e.g. 2\) -* `requestDataInterval` - min frequency at which to request data at \(in seconds, default 30\) -* `gasMultiplier` - Multiplies the submitted gasPrice \(e.g. 2 will double gas costs\) -* `gasMax` - a max for the gas price in gwei \(note: this max comes BEFORE the gas multiplier. So a max gas cost of 10 gwei, can have gas prices up to 20 if gasMultiplier is 2\) -* `heartbeat` - an integer that controls how frequently the miner process should report the hashrate \(larger is less frequent, try 1000000 to start\) -* `numProcessors` - an integer number of CPU cores/threads to use for mining. \(cpu mining is disabled if there is a suitable GPU is found -* `disputeTimeDelta` - how far back to store values for min/max range - default 5 \(in minutes\) -* `disputeThreshold` - percentage of acceptable range outside min/max for dispute checking - default -* `psrFolder` - folder location holding your psr.json file, default working directory - -#### LogConfig file options: - -The logging.config file consists of two fields: \* component \* level - -The component is the package.component combination. - -E.G. the Runner component in the tracker package would be: tracker.Runner - -To turn on logging, add the component and the according level. Note the default level is "INFO", so to turn down the number of logs, enter "WARN" or "ERROR" - -DEBUG - logs everything in INFO and additional developer logs - -INFO - logs most information about the mining operation - -WARN - logs all warnings and errors - -ERROR - logs only serious errors - diff --git a/docs/09_disclaimer.md b/docs/09_disclaimer.md deleted file mode 100644 index 3814491f..00000000 --- a/docs/09_disclaimer.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -description: Mine at your own risk. ---- - -# Disclaimer - -If you are building a competing client, please contact us. A lot of the miner specifications are off-chain and a significant portion of the mining process hinges on the consensus of the Tellor community to determine what proper values are. Competing clients that change different pieces run the risk of being disputed by the community. - -As an example, request ID 4 is BTC/USD. If the api's all go down, it is the responsibility of the miner to still submit a valid BTC/USD price. If they do not, they risk being disputed and slashed. For these reasons, please contribute openly to the official Tellor miner \(or an open source variant\), as consensus here is key. If your miner gets a different value than the majority of the other miners, you risk being punished! - diff --git a/docs/08_CHANGELOG.md b/docs/CHANGELOG.md similarity index 100% rename from docs/08_CHANGELOG.md rename to docs/CHANGELOG.md diff --git a/docs/README.md b/docs/README.md index a56d181e..ab838737 100755 --- a/docs/README.md +++ b/docs/README.md @@ -36,11 +36,11 @@ A list of all PSR's(pre specified requests) and the expected data can be found [ ## Instructions for deployment - - [Telliot Instructions](02_the-guide.md) + - [Telliot Instructions](docs/00_setup-and-usage.md) ## Contributing and building from source Contributions are very welcome!
-See our [04_contributing.md](04_contributing.md) for more information. +See our [04_contributing.md](03_contributing.md) for more information. ## Run with Docker Available tags: https://hub.docker.com/u/tellor @@ -50,18 +50,21 @@ docker run -v $(pwd)/.local:/configs tellor/telliot:master mine This repository is maintained by the [Tellor team](https://github.com/orgs/tellor-io/people) ### DISCLAIMER - Mine at your own risk. - Mining requires you deposit 1000 Tellor Tributes. These are a security deposity. If you are a malicious actor (aka submit a bad value), the community can vote to slash your 1000 tokens. +------- - Mining also requires submitting on-chain transactions on Ethereum. These transactions cost gas (ETH) and can sometimes be signifiant if the cost of gas on EThereum is high (i.e. the network is clogged). Please reach out to the community to find the best tips for keeping gas costs under control or at least being aware of the costs. +Mine at your own risk. - If you are building a competing client, please contact us. The miner specifications are off-chain and the validity of the mining process hinges on the consensus of the Tellor community to determine what proper values are. Competing clients that change different pieces run the risk of being disputed by the commmunity. +Mining requires you deposit 1000 Tellor Tributes. These are a security deposity. If you are a malicious actor (aka submit a bad value), the community can vote to slash your 1000 tokens. - There is no guaruntee of profit from mining. +Mining also requires submitting on-chain transactions on Ethereum. These transactions cost gas (ETH) and can sometimes be signifiant if the cost of gas on EThereum is high (i.e. the network is clogged). Please reach out to the community to find the best tips for keeping gas costs under control or at least being aware of the costs. - There is no promise that Tellor Tributes currently hold or will ever hold any value. +If you are building a competing client, please contact us. The miner specifications are off-chain and the validity of the mining process hinges on the consensus of the Tellor community to determine what proper values are. Competing clients that change different pieces run the risk of being disputed by the commmunity. +There is no guaruntee of profit from mining. +There is no promise that Tellor Tributes currently hold or will ever hold any value. + +---------- ### Copyright Tellor Inc. 2019