Install CometBFT

From Binary

To download pre-built binaries, see the releases page.

From Source

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

Get Source Code

git clone https://github.com/cometbft/cometbft.git
cd cometbft

Compile

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

Run

To start a one-node blockchain with a simple in-process application:

cometbft init
cometbft node --proxy_app=kvstore

Reinstall

If you already have CometBFT installed, and you make updates, simply

make install

To upgrade, run

git pull origin main
make install

Compile with CLevelDB support

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.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 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.

Decorative Orb