From d1c6ae53dc28d749d3810c5cf15a6e67da896ec3 Mon Sep 17 00:00:00 2001 From: Nick Gheorghita Date: Wed, 21 Aug 2019 09:21:47 -0600 Subject: [PATCH] Add installation docs --- docs/installation.rst | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index 4d06eb2..fdb44b1 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -1,9 +1,42 @@ Installation ------------ -Current ethPM CLI is only available via Pypi. - Pypi ~~~~ -``pip install ethpm-cli`` +- Create your virtual environment +- ``pip install ethpm-cli`` + + +Docker +~~~~~~ + +- ``docker pull ethpm/ethpm:latest`` +- ``docker run ethpm/ethpm:latest`` + +Homebrew (recommended) +~~~~~~~~~~~~~~~~~~~~~~ +- ``brew update`` +- ``brew upgrade`` +- ``brew tap ethpm/ethpm-cli`` +- ``brew install ethpm-cli`` + +Setting up your environment vars +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Before you can use ethPM CLI, you must provide an API key to interact with Infura. If you don't have an API key, you can sign up for one here. Then set your environment variable with +``export WEB3_INFURA_PROJECT_ID="INSERT_KEY_HERE"`` + +If you plan to generate packages from Etherscan verified contracts, you must also provide an API key for Etherscan. +``export ETHPM_CLI_ETHERSCAN_API_KEY="INSERT_KEY_HERE"`` + +If you're using Docker to run ethPM CLI, you must pass Docker the environment variables and mount volumes, like so... + +.. code-block:: bash + + docker run -i -e WEB3_INFURA_PROJECT_ID="INSERT_KEY_HERE" -v '/absolute/path/to/ethpm-cli/:/absolute/path/to/ethpm-cli/' -v '/$HOME/.local/share/ethpmcli/:/root/.local/share/ethpmcli/' ethpm/ethpm:latest list + +Setting up your private key +~~~~~~~~~~~~~~~~~~~~~~~~~~~ +If you plan to use the CLI to send any transactions over an Ethereum network (eg. deploying a new registry, releasing a package to a registry), you must link a private key keyfile to sign these transactions. ethPM CLI uses `eth-keyfile `_ to handle private keys. Follow the steps in the README to generate your encrypted keyfile. Make sure you don't lose the password, as you'll need to provide for any tx-signing commands. Once you have your encrypted keyfile, you can link it to the ethPM CLI with the following command. + +``ethpm auth --keyfile-path KEYFILE_PATH``