The fastest and easiest way to install the tendermint
binary
is to run this script on
a fresh Ubuntu instance,
or this script
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).
To download pre-built binaries, see the releases page.
You'll need go
installed and the required
environment variables set
mkdir -p $GOPATH/src/github.com/tendermint
cd $GOPATH/src/github.com/tendermint
git clone https://github.com/tendermint/tendermint.git
cd tendermint
make get_tools
make get_vendor_deps
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.
To start a one-node blockchain with a simple in-process application:
tendermint init
tendermint node --proxy_app=kvstore
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 get_vendor_deps
make install
Install LevelDB (minimum version is 1.7).
Build Tendermint with C libraries: make build_c
.
Install LevelDB with snappy:
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 && \
cp -r out-static/lib* out-shared/lib* /usr/local/lib/ && \
cd include/ && \
cp -r leveldb /usr/local/include/ && \
sudo ldconfig && \
rm -f v1.20.tar.gz
Set database backend to cleveldb:
# config/config.toml
db_backend = "cleveldb"
To build Tendermint, run
CGO_LDFLAGS="-lsnappy" go build -ldflags "-X github.com/tendermint/tendermint/version.GitCommit=`git rev-parse --short=8 HEAD`" -tags "tendermint gcc" -o build/tendermint ./cmd/tendermint/