Install the latest version of CometBFT’s Go package:
go install github.com/cometbft/cometbft/cmd/cometbft@latest
Install a specific version of CometBFT’s Go package:
go install github.com/cometbft/cometbft/cmd/cometbft@v0.38
To download pre-built binaries, see the releases page.
You’ll need go
installed and the required
environment variables set, which can be done with the following commands:
echo export GOPATH=\"\$HOME/go\" >> ~/.bash_profile
echo export PATH=\"\$PATH:\$GOPATH/bin\" >> ~/.bash_profile
git clone https://github.com/cometbft/cometbft.git
cd cometbft
make install
to put the binary in $GOPATH/bin
or use:
make build
to put the binary in ./build
.
DISCLAIMER The binary of CometBFT is build/installed without the DWARF
symbol table. If you would like to build/install CometBFT with the DWARF
symbol and debug information, remove -s -w
from BUILD_FLAGS
in the make
file.
The latest CometBFT is now installed. You can verify the installation by running:
cometbft version
If you already have CometBFT installed, and you make updates, simply
make install
To upgrade, run
git pull origin main
make install
NOTE: cleveldb
is deprecated and will be removed in a future release.
Install 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.23.tar.gz && \
tar -zxvf v1.23.tar.gz && \
cd leveldb-1.23/ && \
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.23.tar.gz
Set a database backend to cleveldb
:
# config/config.toml
db_backend = "cleveldb"
To install CometBFT, run:
CGO_LDFLAGS="-lsnappy" make install COMETBFT_BUILD_OPTIONS=cleveldb
or run:
CGO_LDFLAGS="-lsnappy" make build COMETBFT_BUILD_OPTIONS=cleveldb
which puts the binary in ./build
.