From 0a646b7c5f7fee034f79d837d7708950ff13847a Mon Sep 17 00:00:00 2001 From: Nick Pai Date: Tue, 18 Feb 2020 15:58:40 -0500 Subject: [PATCH 1/8] update README instructions Signed-off-by: Nick Pai --- core/scripts/cli/README.md | 42 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/core/scripts/cli/README.md b/core/scripts/cli/README.md index fa5cc3f372..1e53c32876 100644 --- a/core/scripts/cli/README.md +++ b/core/scripts/cli/README.md @@ -1,3 +1,45 @@ +## Voting Command Line Interface (CLI) +Simple to use command line interface for voting on price requests and retrieving rewards. + +# Installation +1. Clone the UMA monorepo. +```sh +git clone git@github.com:UMAprotocol/protocol.git +``` +2. Install dependencies. +```sh +cd protocol && npm install +``` +3. Symlink the CLI to your global directory. This will allow you to run the voting CLI by simply typing: `uma ...`. +```sh +npm link +``` +4. Start the voting CLI by passing in the provider +```sh +uma --network +``` + +# Provider examples +Connect to your local development network with the first test account as your default account: +```sh +uma --network test +``` + +Connect to mainnet with the private key stored in the environment variable `PRIVATE_KEY`: +```sh +uma --network mainnet_privatekey +``` + +Connect to rinkeby with the mnemonic stored in the environment variable `MNEMONIC`. This will use the first account tied to the mnemonic as the signer account: +```sh +uma --network rinkeby_mnemonic +``` + +Connect to mainnet and vote with your two key contract, address stored in the environment variable `TWO_KEY_ADDRESS`, and the private key of the voter account stored in `PRIVATE_KEY`: +```sh +uma --network mainnet_privatekey +``` + # Connecting your Ethereum Account You have several methods for using the CLI tool with your Ethereum accounts - Developers on localhost: If you are using [Ganache](https://github.com/trufflesuite/ganache) then pass in `--network test` to use the first account object that provided to you by Ganache. Note that you will have to deploy the contracts to your local network via `truffle migrate --reset network`. From 93496356daa8eb2f305810cfe6ea27198d58c2f2 Mon Sep 17 00:00:00 2001 From: Nick Pai Date: Wed, 19 Feb 2020 12:11:54 -0500 Subject: [PATCH 2/8] add to readme comments about how to simply call uma from command line Signed-off-by: Nick Pai --- core/scripts/cli/README.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/core/scripts/cli/README.md b/core/scripts/cli/README.md index 1e53c32876..940c85fa84 100644 --- a/core/scripts/cli/README.md +++ b/core/scripts/cli/README.md @@ -2,6 +2,8 @@ Simple to use command line interface for voting on price requests and retrieving rewards. # Installation +Until the Voting CLI is [published as an npm package](https://docs.npmjs.com/cli/publish), the only way to run the CLI locally is to clone the repo and then symlink the CLI command to your global directory. + 1. Clone the UMA monorepo. ```sh git clone git@github.com:UMAprotocol/protocol.git @@ -10,7 +12,7 @@ git clone git@github.com:UMAprotocol/protocol.git ```sh cd protocol && npm install ``` -3. Symlink the CLI to your global directory. This will allow you to run the voting CLI by simply typing: `uma ...`. +3. Symlink the CLI to your global directory. This will allow you to run the voting CLI by simply typing: `uma ...`. The specific command that is run is listed in the `bin` property of the root `package.json`. ```sh npm link ``` @@ -30,9 +32,9 @@ Connect to mainnet with the private key stored in the environment variable `PRIV uma --network mainnet_privatekey ``` -Connect to rinkeby with the mnemonic stored in the environment variable `MNEMONIC`. This will use the first account tied to the mnemonic as the signer account: +Connect to testnet with the mnemonic stored in the environment variable `MNEMONIC`. This will use the first account tied to the mnemonic as the signer account: ```sh -uma --network rinkeby_mnemonic +uma --network kovan_mnemonic ``` Connect to mainnet and vote with your two key contract, address stored in the environment variable `TWO_KEY_ADDRESS`, and the private key of the voter account stored in `PRIVATE_KEY`: @@ -46,5 +48,5 @@ You have several methods for using the CLI tool with your Ethereum accounts - Private keys or Mnemonics of Hot Wallets containing UMA tokens: `--network _privatekey` or `--network _mnemonic_` will use the default account connected to the relevant environment variable: `PRIVATE_KEY` or `MNEMONIC` - 2-Key Contract: If you are voting via a proxy contract, which we recommend as the most secure way to store ownership to your voting tokens in cold storage while conveniently being able to vote with the tokens via a hot wallet, then set your environment variable `TWO_KEY_ADDRESS` to the Ethereum address of your deployed 2-Key contract. For this to work correctly, the `PRIVATE_KEY` or `MNEMONIC` must be associated with the "voter" role of the 2-Key contract. -# Still needs to be tested: +# TODO: - Metamask: starting the cli with `--network metamask` will correctly read your current Metamask account, but signing transactions does not work properly as the CLI tool appears to be unaware of when transactions are sent successfully by metakas \ No newline at end of file From 554cff0026170f0d644a31cfec2e111fc19dfc56 Mon Sep 17 00:00:00 2001 From: Nick Pai Date: Wed, 19 Feb 2020 12:31:11 -0500 Subject: [PATCH 3/8] edited readme Signed-off-by: Nick Pai --- core/scripts/cli/README.md | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/core/scripts/cli/README.md b/core/scripts/cli/README.md index 940c85fa84..5a015af043 100644 --- a/core/scripts/cli/README.md +++ b/core/scripts/cli/README.md @@ -1,27 +1,33 @@ -## Voting Command Line Interface (CLI) +# Voting Command Line Interface (CLI) Simple to use command line interface for voting on price requests and retrieving rewards. -# Installation + +# Setup +## Installation Until the Voting CLI is [published as an npm package](https://docs.npmjs.com/cli/publish), the only way to run the CLI locally is to clone the repo and then symlink the CLI command to your global directory. 1. Clone the UMA monorepo. ```sh -git clone git@github.com:UMAprotocol/protocol.git +git clone git@github.com:UMAprotocol/protocol.git && cd protocol ``` 2. Install dependencies. ```sh -cd protocol && npm install +npm install ``` -3. Symlink the CLI to your global directory. This will allow you to run the voting CLI by simply typing: `uma ...`. The specific command that is run is listed in the `bin` property of the root `package.json`. +3. Symlink the CLI to your global directory. This will allow you to run the voting CLI by simply typing: `uma ...`. The specific command that is run is listed in the `bin` property of the root `package.json`. A simple alternative to this step is to run `npm install -g ./` which installs the UMA monorepo to your global directory and implicitly symlinks the `uma` command globally. ```sh npm link ``` +OR +```sh +npm install -g ./ +``` 4. Start the voting CLI by passing in the provider ```sh uma --network ``` -# Provider examples +## Provider examples Connect to your local development network with the first test account as your default account: ```sh uma --network test @@ -42,11 +48,23 @@ Connect to mainnet and vote with your two key contract, address stored in the en uma --network mainnet_privatekey ``` -# Connecting your Ethereum Account +## Connecting your Ethereum Account You have several methods for using the CLI tool with your Ethereum accounts - Developers on localhost: If you are using [Ganache](https://github.com/trufflesuite/ganache) then pass in `--network test` to use the first account object that provided to you by Ganache. Note that you will have to deploy the contracts to your local network via `truffle migrate --reset network`. - Private keys or Mnemonics of Hot Wallets containing UMA tokens: `--network _privatekey` or `--network _mnemonic_` will use the default account connected to the relevant environment variable: `PRIVATE_KEY` or `MNEMONIC` - 2-Key Contract: If you are voting via a proxy contract, which we recommend as the most secure way to store ownership to your voting tokens in cold storage while conveniently being able to vote with the tokens via a hot wallet, then set your environment variable `TWO_KEY_ADDRESS` to the Ethereum address of your deployed 2-Key contract. For this to work correctly, the `PRIVATE_KEY` or `MNEMONIC` must be associated with the "voter" role of the 2-Key contract. -# TODO: + +# Using the CLI Tool +After starting the CLI tool, a menu will appear. There will always be options "help" (to print out a list of commands) and "exit/back" (quit the tool or go back to the previous menu). + +## Modules +Selecting these lead to further menus with relevant actions: +- *Wallet*: View token balances for default account, from which you can vote +- *Vote*: Commit and reveal votes, and retrieve rewards +- *Admin*: Vote on system administrator proposals + + +# Development +## TODO: - Metamask: starting the cli with `--network metamask` will correctly read your current Metamask account, but signing transactions does not work properly as the CLI tool appears to be unaware of when transactions are sent successfully by metakas \ No newline at end of file From 5a9d8cdfe2d11c645d7eb571c477a93870887c00 Mon Sep 17 00:00:00 2001 From: Nick Pai Date: Wed, 19 Feb 2020 13:51:16 -0500 Subject: [PATCH 4/8] add cli doc to documentation/ Signed-off-by: Nick Pai --- ...s-and-networks.md => keys_and_networks.md} | 0 ...uration.md => price_feed_configuration.md} | 0 ...-derivative.md => tokenized_derivative.md} | 0 ...-locally.md => creating_tokens_locally.md} | 4 +-- ...a-cli.md => customizing_tokens_via_cli.md} | 2 +- ...-feed.md => deploy_your_own_price_feed.md} | 4 +-- ...{running-the-avs.md => running_the_avs.md} | 0 .../tutorials/using_the_voting_cli.md | 33 ++++++++++++------- 8 files changed, 26 insertions(+), 17 deletions(-) rename documentation/explainers/{keys-and-networks.md => keys_and_networks.md} (100%) rename documentation/explainers/{price-feed-configuration.md => price_feed_configuration.md} (100%) rename documentation/explainers/{tokenized-derivative.md => tokenized_derivative.md} (100%) rename documentation/tutorials/{creating-tokens-locally.md => creating_tokens_locally.md} (91%) rename documentation/tutorials/{customizing-tokens-via-cli.md => customizing_tokens_via_cli.md} (99%) rename documentation/tutorials/{deploy-your-own-price-feed.md => deploy_your_own_price_feed.md} (97%) rename documentation/tutorials/{running-the-avs.md => running_the_avs.md} (100%) rename core/scripts/cli/README.md => documentation/tutorials/using_the_voting_cli.md (87%) diff --git a/documentation/explainers/keys-and-networks.md b/documentation/explainers/keys_and_networks.md similarity index 100% rename from documentation/explainers/keys-and-networks.md rename to documentation/explainers/keys_and_networks.md diff --git a/documentation/explainers/price-feed-configuration.md b/documentation/explainers/price_feed_configuration.md similarity index 100% rename from documentation/explainers/price-feed-configuration.md rename to documentation/explainers/price_feed_configuration.md diff --git a/documentation/explainers/tokenized-derivative.md b/documentation/explainers/tokenized_derivative.md similarity index 100% rename from documentation/explainers/tokenized-derivative.md rename to documentation/explainers/tokenized_derivative.md diff --git a/documentation/tutorials/creating-tokens-locally.md b/documentation/tutorials/creating_tokens_locally.md similarity index 91% rename from documentation/tutorials/creating-tokens-locally.md rename to documentation/tutorials/creating_tokens_locally.md index 33552a272c..32442ee995 100644 --- a/documentation/tutorials/creating-tokens-locally.md +++ b/documentation/tutorials/creating_tokens_locally.md @@ -10,7 +10,7 @@ All of our tutorials require that you complete the steps in [Prerequisites](./pr ## Deploy smart contracts to Ganache First, we'll start a blockchain locally using Ganache and deploy the UMA smart contracts to it. The underlying products -we can track are configured via a json file `identifiers.json`. More details on this can be found [here](../explainers/price-feed-configuration.md). +we can track are configured via a json file `identifiers.json`. More details on this can be found [here](../explainers/price_feed_configuration.md). Run all commands in this section from the `core/` directory. @@ -55,4 +55,4 @@ Run all commands in this section from the `sponsor-dapp-v2/` directory. We now have a synthetic token tracking the BTC/USD price. To see our token valuation change as the BTC price changes, we can either push more prices using -`ManualPublishPriceFeed.js`, as above, or see the price-feed-configuration.md doc to set up a real price feed. +`ManualPublishPriceFeed.js`, as above, or see the [doc](../explainers/price_feed_configuration.md) to set up a real price feed. diff --git a/documentation/tutorials/customizing-tokens-via-cli.md b/documentation/tutorials/customizing_tokens_via_cli.md similarity index 99% rename from documentation/tutorials/customizing-tokens-via-cli.md rename to documentation/tutorials/customizing_tokens_via_cli.md index 1d369b48a8..0b3abf672e 100644 --- a/documentation/tutorials/customizing-tokens-via-cli.md +++ b/documentation/tutorials/customizing_tokens_via_cli.md @@ -27,7 +27,7 @@ in ETH, and depend upon the price of BTC/USD. ## Prerequisites All of our tutorials require that you complete the steps in [Prerequisites](./prerequisites.md). If you are new to the UMA -system, start with [Creating tokens locally](./creating-tokens-locally.md) to get a gentle introduction. +system, start with [Creating tokens locally](./creating_tokens_locally.md) to get a gentle introduction. Make sure you have testnet ETH or are running locally. All commands should be run from the `core` directory. diff --git a/documentation/tutorials/deploy-your-own-price-feed.md b/documentation/tutorials/deploy_your_own_price_feed.md similarity index 97% rename from documentation/tutorials/deploy-your-own-price-feed.md rename to documentation/tutorials/deploy_your_own_price_feed.md index f3e8549cd9..77c0f5a18e 100644 --- a/documentation/tutorials/deploy-your-own-price-feed.md +++ b/documentation/tutorials/deploy_your_own_price_feed.md @@ -5,7 +5,7 @@ necessary if the identifier (or underlying asset) you want to track isn't suppor identifiers, see [identifiers.json](https://github.com/UMAprotocol/protocol/blob/master/core/config/identifiers.json). If you'd like more information on what an identifier is and how to configure a price feed, please see -[our explainer](../explainers/price-feed-configuration.md). +[our explainer](../explainers/price_feed_configuration.md). ## Prerequisites @@ -121,4 +121,4 @@ is greater than the previous timestamp you provided, but not in the future. To deploy a Tokenized Derivative that uses your price feed, you'll want to change the `priceFeedAddress` parameter to your price feed address from above and the `product` parameter to `Custom Index (1)` (converted to `bytes32`). The specific instructions for how to deploy a custom TokenizedDerivative are in -[this tutorial](./customizing-tokens-via-cli.md) - you'll just need to remember these two parameters. +[this tutorial](./customizing_tokens_via_cli.md) - you'll just need to remember these two parameters. diff --git a/documentation/tutorials/running-the-avs.md b/documentation/tutorials/running_the_avs.md similarity index 100% rename from documentation/tutorials/running-the-avs.md rename to documentation/tutorials/running_the_avs.md diff --git a/core/scripts/cli/README.md b/documentation/tutorials/using_the_voting_cli.md similarity index 87% rename from core/scripts/cli/README.md rename to documentation/tutorials/using_the_voting_cli.md index 5a015af043..ea1deaa041 100644 --- a/core/scripts/cli/README.md +++ b/documentation/tutorials/using_the_voting_cli.md @@ -1,20 +1,17 @@ # Voting Command Line Interface (CLI) -Simple to use command line interface for voting on price requests and retrieving rewards. +We provide a user-friendly command line interface for voting on price requests and retrieving rewards. # Setup + ## Installation + Until the Voting CLI is [published as an npm package](https://docs.npmjs.com/cli/publish), the only way to run the CLI locally is to clone the repo and then symlink the CLI command to your global directory. -1. Clone the UMA monorepo. -```sh -git clone git@github.com:UMAprotocol/protocol.git && cd protocol -``` -2. Install dependencies. -```sh -npm install -``` -3. Symlink the CLI to your global directory. This will allow you to run the voting CLI by simply typing: `uma ...`. The specific command that is run is listed in the `bin` property of the root `package.json`. A simple alternative to this step is to run `npm install -g ./` which installs the UMA monorepo to your global directory and implicitly symlinks the `uma` command globally. +We assume that you have followed the [Prerequisites](./prerequisites.md) (cloned the monorepo and ran `npm install` from `protocol/`) and are in the root directory (i.e. `protocol/`). + +1. Symlink the CLI to your global directory. This will allow you to run the voting CLI by simply typing: `uma ...`. The specific command that is run is listed in the `bin` property of the root `package.json`. A simple alternative to this step is to run `npm install -g ./` which installs the UMA monorepo to your global directory and implicitly symlinks the `uma` command globally. + ```sh npm link ``` @@ -22,33 +19,41 @@ OR ```sh npm install -g ./ ``` -4. Start the voting CLI by passing in the provider + +2. Start the voting CLI by passing in the provider + ```sh uma --network ``` ## Provider examples + Connect to your local development network with the first test account as your default account: + ```sh uma --network test ``` Connect to mainnet with the private key stored in the environment variable `PRIVATE_KEY`: + ```sh uma --network mainnet_privatekey ``` Connect to testnet with the mnemonic stored in the environment variable `MNEMONIC`. This will use the first account tied to the mnemonic as the signer account: + ```sh uma --network kovan_mnemonic ``` Connect to mainnet and vote with your two key contract, address stored in the environment variable `TWO_KEY_ADDRESS`, and the private key of the voter account stored in `PRIVATE_KEY`: + ```sh uma --network mainnet_privatekey ``` ## Connecting your Ethereum Account + You have several methods for using the CLI tool with your Ethereum accounts - Developers on localhost: If you are using [Ganache](https://github.com/trufflesuite/ganache) then pass in `--network test` to use the first account object that provided to you by Ganache. Note that you will have to deploy the contracts to your local network via `truffle migrate --reset network`. - Private keys or Mnemonics of Hot Wallets containing UMA tokens: `--network _privatekey` or `--network _mnemonic_` will use the default account connected to the relevant environment variable: `PRIVATE_KEY` or `MNEMONIC` @@ -56,9 +61,11 @@ You have several methods for using the CLI tool with your Ethereum accounts # Using the CLI Tool + After starting the CLI tool, a menu will appear. There will always be options "help" (to print out a list of commands) and "exit/back" (quit the tool or go back to the previous menu). ## Modules + Selecting these lead to further menus with relevant actions: - *Wallet*: View token balances for default account, from which you can vote - *Vote*: Commit and reveal votes, and retrieve rewards @@ -66,5 +73,7 @@ Selecting these lead to further menus with relevant actions: # Development -## TODO: + +## Incomplete features: + - Metamask: starting the cli with `--network metamask` will correctly read your current Metamask account, but signing transactions does not work properly as the CLI tool appears to be unaware of when transactions are sent successfully by metakas \ No newline at end of file From 0d537308d5bde6573870fff3b775354f9279eeca Mon Sep 17 00:00:00 2001 From: Nick Pai Date: Thu, 20 Feb 2020 19:09:54 -0500 Subject: [PATCH 5/8] add to documentation to recommend against metamask Signed-off-by: Nick Pai --- .../tutorials/using_the_voting_cli.md | 50 +++++++++++-------- 1 file changed, 30 insertions(+), 20 deletions(-) diff --git a/documentation/tutorials/using_the_voting_cli.md b/documentation/tutorials/using_the_voting_cli.md index ea1deaa041..7e57324679 100644 --- a/documentation/tutorials/using_the_voting_cli.md +++ b/documentation/tutorials/using_the_voting_cli.md @@ -2,13 +2,11 @@ We provide a user-friendly command line interface for voting on price requests and retrieving rewards. -# Setup - -## Installation +# Installation Until the Voting CLI is [published as an npm package](https://docs.npmjs.com/cli/publish), the only way to run the CLI locally is to clone the repo and then symlink the CLI command to your global directory. -We assume that you have followed the [Prerequisites](./prerequisites.md) (cloned the monorepo and ran `npm install` from `protocol/`) and are in the root directory (i.e. `protocol/`). +We assume that you have followed the [Prerequisites](./prerequisites.md) (cloned the monorepo and installed dependencies for the root directory via `npm install`) and are in the root directory (i.e. `protocol`). 1. Symlink the CLI to your global directory. This will allow you to run the voting CLI by simply typing: `uma ...`. The specific command that is run is listed in the `bin` property of the root `package.json`. A simple alternative to this step is to run `npm install -g ./` which installs the UMA monorepo to your global directory and implicitly symlinks the `uma` command globally. @@ -26,41 +24,54 @@ npm install -g ./ uma --network ``` -## Provider examples +# Providers -Connect to your local development network with the first test account as your default account: +We strongly recommend using a non-Metamask provider and prefer the "NETWORK_privatekey" option. Storing a private key in an environment variable is a safe compromise between convenience and security provided your local machine is not compromised. To set an environment variable, run: +```sh +export ENV_VARIABLE_NAME="VALUE" +``` +To unset an environment variable, run: +```sh +unset ENV_VARIABLE_NAME +``` +And to print out your environment variables, run: +```sh +printenv +``` + +Here are the various providers you can use: + +- Connect to your local development network with the first test account as your default account. This would be useful for developers using [Ganache](https://github.com/trufflesuite/ganache). Note that you will first have to deploy the contracts to your local network via `truffle migrate --reset network`: ```sh uma --network test ``` -Connect to mainnet with the private key stored in the environment variable `PRIVATE_KEY`: +- Connect to mainnet with the private key stored in the environment variable `PRIVATE_KEY`: ```sh uma --network mainnet_privatekey ``` -Connect to testnet with the mnemonic stored in the environment variable `MNEMONIC`. This will use the first account tied to the mnemonic as the signer account: +- Connect to testnet with the mnemonic stored in the environment variable `MNEMONIC`. This will use the first account tied to the mnemonic as the signer account: ```sh uma --network kovan_mnemonic ``` -Connect to mainnet and vote with your two key contract, address stored in the environment variable `TWO_KEY_ADDRESS`, and the private key of the voter account stored in `PRIVATE_KEY`: +- Connect to mainnet and vote with your two key contract, address stored in the environment variable `TWO_KEY_ADDRESS`, and the private key of the voter account stored in `PRIVATE_KEY`. We recommend this method as the most secure way to store ownership to your voting tokens in cold storage while conveniently being able to vote with the tokens via a hot wallet: ```sh uma --network mainnet_privatekey ``` -## Connecting your Ethereum Account - -You have several methods for using the CLI tool with your Ethereum accounts -- Developers on localhost: If you are using [Ganache](https://github.com/trufflesuite/ganache) then pass in `--network test` to use the first account object that provided to you by Ganache. Note that you will have to deploy the contracts to your local network via `truffle migrate --reset network`. -- Private keys or Mnemonics of Hot Wallets containing UMA tokens: `--network _privatekey` or `--network _mnemonic_` will use the default account connected to the relevant environment variable: `PRIVATE_KEY` or `MNEMONIC` -- 2-Key Contract: If you are voting via a proxy contract, which we recommend as the most secure way to store ownership to your voting tokens in cold storage while conveniently being able to vote with the tokens via a hot wallet, then set your environment variable `TWO_KEY_ADDRESS` to the Ethereum address of your deployed 2-Key contract. For this to work correctly, the `PRIVATE_KEY` or `MNEMONIC` must be associated with the "voter" role of the 2-Key contract. +- Connect with your Metamask provider: +```sh +uma --network metamask +``` -# Using the CLI Tool +# Features After starting the CLI tool, a menu will appear. There will always be options "help" (to print out a list of commands) and "exit/back" (quit the tool or go back to the previous menu). @@ -68,12 +79,11 @@ After starting the CLI tool, a menu will appear. There will always be options "h Selecting these lead to further menus with relevant actions: - *Wallet*: View token balances for default account, from which you can vote -- *Vote*: Commit and reveal votes, and retrieve rewards +- *Vote*: Commit and reveal votes, retrieve rewards, and view results of previous votes. - *Admin*: Vote on system administrator proposals - # Development -## Incomplete features: +## Known Bugs: -- Metamask: starting the cli with `--network metamask` will correctly read your current Metamask account, but signing transactions does not work properly as the CLI tool appears to be unaware of when transactions are sent successfully by metakas \ No newline at end of file +- Metamask: retrieving rewards and viewing past vote results does not work well with the Metamask provider, specifically because it does not do a great job of reading past event logs. To read more technical details about the issue, go [here](https://github.com/UMAprotocol/protocol/issues/901). \ No newline at end of file From d9237eb5db1a1878524d2a7ccefcda94b99b8a97 Mon Sep 17 00:00:00 2001 From: Nick Pai Date: Thu, 20 Feb 2020 19:12:13 -0500 Subject: [PATCH 6/8] docs Signed-off-by: Nick Pai --- documentation/tutorials/using_the_voting_cli.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/tutorials/using_the_voting_cli.md b/documentation/tutorials/using_the_voting_cli.md index 7e57324679..0c4915f972 100644 --- a/documentation/tutorials/using_the_voting_cli.md +++ b/documentation/tutorials/using_the_voting_cli.md @@ -26,7 +26,7 @@ uma --network # Providers -We strongly recommend using a non-Metamask provider and prefer the "NETWORK_privatekey" option. Storing a private key in an environment variable is a safe compromise between convenience and security provided your local machine is not compromised. To set an environment variable, run: +We strongly recommend using a non-Metamask provider and prefer the "NETWORK_privatekey" option. For more on the specific issues that using a Metamask provider opens, see [Known Bugs](#known-bugs) Storing a private key in an environment variable is a safe compromise between convenience and security provided your local machine is not compromised. To set an environment variable, run: ```sh export ENV_VARIABLE_NAME="VALUE" ``` From dc0fdd328f2b5fdc2fd29d4151d2f14aaa00c577 Mon Sep 17 00:00:00 2001 From: Nick Pai Date: Thu, 20 Feb 2020 19:38:16 -0500 Subject: [PATCH 7/8] edit Signed-off-by: Nick Pai --- documentation/tutorials/using_the_voting_cli.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/tutorials/using_the_voting_cli.md b/documentation/tutorials/using_the_voting_cli.md index 0c4915f972..2c8c1fc21d 100644 --- a/documentation/tutorials/using_the_voting_cli.md +++ b/documentation/tutorials/using_the_voting_cli.md @@ -4,7 +4,7 @@ We provide a user-friendly command line interface for voting on price requests a # Installation -Until the Voting CLI is [published as an npm package](https://docs.npmjs.com/cli/publish), the only way to run the CLI locally is to clone the repo and then symlink the CLI command to your global directory. +We will walk you through setting up the CLI by first cloning the repo and then symlink-ing the CLI command to your global directory. We assume that you have followed the [Prerequisites](./prerequisites.md) (cloned the monorepo and installed dependencies for the root directory via `npm install`) and are in the root directory (i.e. `protocol`). @@ -26,7 +26,7 @@ uma --network # Providers -We strongly recommend using a non-Metamask provider and prefer the "NETWORK_privatekey" option. For more on the specific issues that using a Metamask provider opens, see [Known Bugs](#known-bugs) Storing a private key in an environment variable is a safe compromise between convenience and security provided your local machine is not compromised. To set an environment variable, run: +We strongly recommend using a non-Metamask provider and prefer the "NETWORK_privatekey" option. For more on the specific issues that using a Metamask provider opens, see [Known Bugs](#known-bugs). Storing a private key in an environment variable is a safe compromise between convenience and security provided your local machine is not compromised. To set an environment variable, run: ```sh export ENV_VARIABLE_NAME="VALUE" ``` From 896124e13e700c504c982b81d7ca780621c9e5f9 Mon Sep 17 00:00:00 2001 From: Nick Pai Date: Thu, 20 Feb 2020 19:38:53 -0500 Subject: [PATCH 8/8] remove section Signed-off-by: Nick Pai --- documentation/tutorials/using_the_voting_cli.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/documentation/tutorials/using_the_voting_cli.md b/documentation/tutorials/using_the_voting_cli.md index 2c8c1fc21d..e75dcc9803 100644 --- a/documentation/tutorials/using_the_voting_cli.md +++ b/documentation/tutorials/using_the_voting_cli.md @@ -82,8 +82,6 @@ Selecting these lead to further menus with relevant actions: - *Vote*: Commit and reveal votes, retrieve rewards, and view results of previous votes. - *Admin*: Vote on system administrator proposals -# Development - -## Known Bugs: +# Known Bugs: - Metamask: retrieving rewards and viewing past vote results does not work well with the Metamask provider, specifically because it does not do a great job of reading past event logs. To read more technical details about the issue, go [here](https://github.com/UMAprotocol/protocol/issues/901). \ No newline at end of file