|
|
@ -1,102 +0,0 @@ |
|
|
|
Install from Source |
|
|
|
=================== |
|
|
|
|
|
|
|
This page provides instructions on installing Tendermint from source. To |
|
|
|
download pre-built binaries, see the `Download page <https://tendermint.com/download>`__. |
|
|
|
|
|
|
|
Install Go |
|
|
|
---------- |
|
|
|
|
|
|
|
Make sure you have `installed Go <https://golang.org/doc/install>`__ and |
|
|
|
set the ``GOPATH``. |
|
|
|
|
|
|
|
Install Tendermint |
|
|
|
------------------ |
|
|
|
|
|
|
|
You should be able to install the latest with a simple |
|
|
|
|
|
|
|
:: |
|
|
|
|
|
|
|
go get github.com/tendermint/tendermint/cmd/tendermint |
|
|
|
|
|
|
|
Run ``tendermint --help`` for more. |
|
|
|
|
|
|
|
If the installation failed, a dependency may been updated and become |
|
|
|
incompatible with the latest Tendermint master branch. We solve this |
|
|
|
using the ``glide`` tool for dependency management. |
|
|
|
|
|
|
|
Fist, install ``glide``: |
|
|
|
|
|
|
|
:: |
|
|
|
|
|
|
|
go get github.com/Masterminds/glide |
|
|
|
|
|
|
|
Now we can fetch the correct versions of each dependency by running: |
|
|
|
|
|
|
|
:: |
|
|
|
|
|
|
|
cd $GOPATH/src/github.com/tendermint/tendermint |
|
|
|
glide install |
|
|
|
go install ./cmd/tendermint |
|
|
|
|
|
|
|
Note that even though ``go get`` originally failed, the repository was |
|
|
|
still cloned to the correct location in the ``$GOPATH``. |
|
|
|
|
|
|
|
The latest Tendermint Core version is now installed. |
|
|
|
|
|
|
|
Reinstall |
|
|
|
~~~~~~~~~ |
|
|
|
|
|
|
|
If you already have Tendermint installed, and you make updates, simply |
|
|
|
|
|
|
|
:: |
|
|
|
|
|
|
|
cd $GOPATH/src/github.com/tendermint/tendermint |
|
|
|
go install ./cmd/tendermint |
|
|
|
|
|
|
|
To upgrade, there are a few options: |
|
|
|
|
|
|
|
- set a new ``$GOPATH`` and run |
|
|
|
``go get github.com/tendermint/tendermint/cmd/tendermint``. This |
|
|
|
makes a fresh copy of everything for the new version. |
|
|
|
- run ``go get -u github.com/tendermint/tendermint/cmd/tendermint``, |
|
|
|
where the ``-u`` fetches the latest updates for the repository and |
|
|
|
its dependencies |
|
|
|
- fetch and checkout the latest master branch in |
|
|
|
``$GOPATH/src/github.com/tendermint/tendermint``, and then run |
|
|
|
``glide install && go install ./cmd/tendermint`` as above. |
|
|
|
|
|
|
|
Note the first two options should usually work, but may fail. If they |
|
|
|
do, use ``glide``, as above: |
|
|
|
|
|
|
|
:: |
|
|
|
|
|
|
|
cd $GOPATH/src/github.com/tendermint/tendermint |
|
|
|
glide install |
|
|
|
go install ./cmd/tendermint |
|
|
|
|
|
|
|
Since the third option just uses ``glide`` right away, it should always |
|
|
|
work. |
|
|
|
|
|
|
|
Troubleshooting |
|
|
|
~~~~~~~~~~~~~~~ |
|
|
|
|
|
|
|
If ``go get`` failing bothers you, fetch the code using ``git``: |
|
|
|
|
|
|
|
:: |
|
|
|
|
|
|
|
mkdir -p $GOPATH/src/github.com/tendermint |
|
|
|
git clone https://github.com/tendermint/tendermint $GOPATH/src/github.com/tendermint/tendermint |
|
|
|
cd $GOPATH/src/github.com/tendermint/tendermint |
|
|
|
glide install |
|
|
|
go install ./cmd/tendermint |
|
|
|
|
|
|
|
Run |
|
|
|
~~~ |
|
|
|
|
|
|
|
To start a one-node blockchain with a simple in-process application: |
|
|
|
|
|
|
|
:: |
|
|
|
|
|
|
|
tendermint init |
|
|
|
tendermint node --proxy_app=dummy |