diff --git a/docs/install.rst b/docs/install.rst index 3fc392a3..63a4bb65 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -1,6 +1,9 @@ Install Tendermint ================== +The fastest and easiest way to install the ``tendermint`` binary +is to run `this script `__ on a fresh Ubuntu instance. Read the comments / instructions carefully (i.e., reset your terminal after running the script). + From Binary ----------- diff --git a/scripts/install_tendermint.sh b/scripts/install_tendermint.sh new file mode 100644 index 00000000..0e1de117 --- /dev/null +++ b/scripts/install_tendermint.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + +# XXX: this script is intended to be run from +# a fresh Digital Ocean droplet with Ubuntu + +# upon its completion, you must either reset +# your terminal or run `source ~/.profile` + +# as written, this script will install +# tendermint core from master branch +REPO=github.com/tendermint/tendermint + +# change this to a specific release or branch +BRANCH=master + +sudo apt-get update -y +sudo apt-get upgrade -y +sudo apt-get install -y make + +# get and unpack golang +curl -O https://storage.googleapis.com/golang/go1.10.linux-amd64.tar.gz +tar -xvf go1.10.linux-amd64.tar.gz + +# move go binary and add to path +mv go /usr/local +echo "export PATH=\$PATH:/usr/local/go/bin" >> ~/.profile + +# create the goApps directory, set GOPATH, and put it on PATH +mkdir goApps +echo "export GOPATH=/root/goApps" >> ~/.profile +echo "export PATH=\$PATH:\$GOPATH/bin" >> ~/.profile + +source ~/.profile + +# get the code and move into repo +go get $REPO +cd $GOPATH/src/$REPO + +# build & install +git checkout $BRANCH +# XXX: uncomment if branch isn't master +# git fetch origin $BRANCH +make get_tools +make get_vendor_deps +make install + +# the binary is located in $GOPATH/bin +# run `source ~/.profile` or reset your terminal +# to persist the changes