Set Up BigchainDB, MongoDB and Tendermint

We now install and configure software that must run in every BigchainDB node: BigchainDB Server, MongoDB and Tendermint.

Install BigchainDB Server

BigchainDB Server requires Python 3.6+, so make sure your system has it.

Install the required OS-level packages:

# For Ubuntu 18.04:
sudo apt install -y python3-pip libssl-dev
# Ubuntu 16.04, and other Linux distros, may require other packages or more packages

BigchainDB Server requires gevent, and to install gevent, you must use pip 19 or later (as of 2019, because gevent now uses manylinux2010 wheels). Upgrade pip to the latest version:

sudo pip3 install -U pip

Now install the latest version of BigchainDB Server. You can find the latest version by going to the BigchainDB project release history page on PyPI. For example, to install version 2.2.2, you would do:

# Change 2.0.0 to the latest version as explained above:
sudo pip3 install bigchaindb==2.2.2

Check that you installed the correct version of BigchainDB Server using bigchaindb --version.

Configure BigchainDB Server

To configure BigchainDB Server, run:

bigchaindb configure

The first question is API Server bind? (default `localhost:9984`).

  • If you’re using NGINX (e.g. if you want HTTPS), then accept the default value (localhost:9984).
  • If you’re not using NGINX, then enter the value 0.0.0.0:9984

You can accept the default value for all other BigchainDB config settings.

If you’re using NGINX, then you should edit your BigchainDB config file (in $HOME/.bigchaindb by default) and set the following values under "wsserver":

"advertised_scheme": "wss",
"advertised_host": "bnode.example.com",
"advertised_port": 443

where bnode.example.com should be replaced by your node’s actual subdomain.

Install (and Start) MongoDB

Install a recent version of MongoDB. BigchainDB Server requires version 3.4 or newer.

sudo apt install mongodb

If you install MongoDB using the above command (which installs the mongodb package), it also configures MongoDB, starts MongoDB (in the background), and installs a MongoDB startup script (so that MongoDB will be started automatically when the machine is restarted).

Note: The mongodb package is not the official MongoDB package from MongoDB the company. If you want to install the official MongoDB package, please see the MongoDB documentation. Note that installing the official package doesn’t also start MongoDB.

Install Tendermint

The version of BigchainDB Server described in these docs only works well with Tendermint 0.31.5 (not a higher version number). Install that:

sudo apt install -y unzip
wget https://github.com/tendermint/tendermint/releases/download/v0.31.5/tendermint_v0.31.5_linux_amd64.zip
unzip tendermint_v0.31.5_linux_amd64.zip
rm tendermint_v0.31.5_linux_amd64.zip
sudo mv tendermint /usr/local/bin

Start Configuring Tendermint

You won’t be able to finish configuring Tendermint until you have some information from the other nodes in the network, but you can start by doing:

tendermint init