mirror of
https://github.com/fluencelabs/tendermint
synced 2025-04-25 14:52:17 +00:00
* Update to using go mod from dep * Remove references to make get_vendor_deps * Specify go version * Set GO111MODULE=on and add -mod=readonly * Fix exported env * switch to using go1.12 everywhere * Fix test scripts * Typo: * Prepend GO111MODULE=on * remove dep cache * Revert "remove dep cache" This reverts commit 45117bda Signed-off-by: Ismail Khoffi <Ismail.Khoffi@gmail.com> * bring back the dependency cache and change it to cache modules instead of vendored deps; also: - bump version for dependency cache - bump version on pkg-cache (includes modules directory) Signed-off-by: Ismail Khoffi <Ismail.Khoffi@gmail.com> * remove some more traces of dep: - remove Gopkg.(toml | lock) - update contributing guidlines - set global default in circleci (GO111MODULE=on) Signed-off-by: Ismail Khoffi <Ismail.Khoffi@gmail.com> * global var failed for `test_cover` with `go: unknown environment setting GO111MODULE=true` although the var was `GO111MODULE: on` Signed-off-by: Ismail Khoffi <Ismail.Khoffi@gmail.com> * Changelog pending entry Signed-off-by: Ismail Khoffi <Ismail.Khoffi@gmail.com> * Add bbolt dependency to go.mod Signed-off-by: Ismail Khoffi <Ismail.Khoffi@gmail.com> * move -mod=readonly to build flags
119 lines
2.5 KiB
Markdown
119 lines
2.5 KiB
Markdown
# Install Tendermint
|
|
|
|
The fastest and easiest way to install the `tendermint` binary
|
|
is to run [this script](https://github.com/tendermint/tendermint/blob/develop/scripts/install/install_tendermint_ubuntu.sh) on
|
|
a fresh Ubuntu instance,
|
|
or [this script](https://github.com/tendermint/tendermint/blob/develop/scripts/install/install_tendermint_bsd.sh)
|
|
on a fresh FreeBSD instance. Read the comments / instructions carefully (i.e., reset your terminal after running the script,
|
|
make sure you are okay with the network connections being made).
|
|
|
|
## From Binary
|
|
|
|
To download pre-built binaries, see the [releases page](https://github.com/tendermint/tendermint/releases).
|
|
|
|
## From Source
|
|
|
|
You'll need `go` [installed](https://golang.org/doc/install) and the required
|
|
[environment variables set](https://github.com/tendermint/tendermint/wiki/Setting-GOPATH)
|
|
|
|
### Get Source Code
|
|
|
|
```
|
|
mkdir -p $GOPATH/src/github.com/tendermint
|
|
cd $GOPATH/src/github.com/tendermint
|
|
git clone https://github.com/tendermint/tendermint.git
|
|
cd tendermint
|
|
```
|
|
|
|
### Get Tools & Dependencies
|
|
|
|
```
|
|
make get_tools
|
|
```
|
|
|
|
### Compile
|
|
|
|
```
|
|
make install
|
|
```
|
|
|
|
to put the binary in `$GOPATH/bin` or use:
|
|
|
|
```
|
|
make build
|
|
```
|
|
|
|
to put the binary in `./build`.
|
|
|
|
The latest `tendermint version` is now installed.
|
|
|
|
## Run
|
|
|
|
To start a one-node blockchain with a simple in-process application:
|
|
|
|
```
|
|
tendermint init
|
|
tendermint node --proxy_app=kvstore
|
|
```
|
|
|
|
## Reinstall
|
|
|
|
If you already have Tendermint installed, and you make updates, simply
|
|
|
|
```
|
|
cd $GOPATH/src/github.com/tendermint/tendermint
|
|
make install
|
|
```
|
|
|
|
To upgrade, run
|
|
|
|
```
|
|
cd $GOPATH/src/github.com/tendermint/tendermint
|
|
git pull origin master
|
|
make install
|
|
```
|
|
|
|
## Compile with CLevelDB support
|
|
|
|
Install [LevelDB](https://github.com/google/leveldb) (minimum version is 1.7).
|
|
|
|
Install LevelDB with snappy (optionally). Below are commands for Ubuntu:
|
|
|
|
```
|
|
sudo apt-get update
|
|
sudo apt install build-essential
|
|
|
|
sudo apt-get install libsnappy-dev
|
|
|
|
wget https://github.com/google/leveldb/archive/v1.20.tar.gz && \
|
|
tar -zxvf v1.20.tar.gz && \
|
|
cd leveldb-1.20/ && \
|
|
make && \
|
|
sudo cp -r out-static/lib* out-shared/lib* /usr/local/lib/ && \
|
|
cd include/ && \
|
|
sudo cp -r leveldb /usr/local/include/ && \
|
|
sudo ldconfig && \
|
|
rm -f v1.20.tar.gz
|
|
```
|
|
|
|
Set a database backend to `cleveldb`:
|
|
|
|
```
|
|
# config/config.toml
|
|
db_backend = "cleveldb"
|
|
```
|
|
|
|
To install Tendermint, run:
|
|
|
|
```
|
|
CGO_LDFLAGS="-lsnappy" make install_c
|
|
```
|
|
|
|
or run:
|
|
|
|
```
|
|
CGO_LDFLAGS="-lsnappy" make build_c
|
|
```
|
|
|
|
which puts the binary in `./build`.
|