How to do BigchainDB Setup

Posted By : Harikesh Maurya | 29-Aug-2019

BigChainDB - BigchainDB is like a database with blockchain characteristics like decentralized, immutable, asset. BigchainDb version 2.0 is more stable than previous versions.

These are the three main components of BigchainDB:-

1. MongoDB - BigchainDb uses MongoDB to store the data. And it gives each node operator the full power of MongoDB to query the stored data.

2. BigchainDB - BigchainDB works as a web frontend.

is the software through 3. Tendermint - bigchaindb replicate data from one machine to another machine securely and consistently. So tendermint play an important role in multiple node connection.

 

Let’s understand how these components work.

  1. Transaction is Posted to BigchainDB web frontend

  2. Transactions are collected into a block

  3. Block is sent to Tendermint for replication

  4. Tendermint asks each node to CHECK the block.

  5. Node validates block schema and ID and says valid if it's valid

  6. Tendermint asks each node to DELIVER the block.

  7. Node write block to bigchainDb table.

  8. Voting pipeline votes on block validity

 

#Prerequisite for BigchainDB node :

  • MongoDB server (3.4+)
  • BigchainDB Server
  • Tendermint (supported version 0.22.8-40d6dc2e)
  • Storage for MongoDB and Tendermint
  • Python 3.6+

 

It could also include several other components, like:

  • NGINX  to provide authentication, rate limiting, etc.
  • An NTP daemon running on all machines running BigchainDB Server or MongoDB, and possibly other machines
  • MongoDB Monitoring Agent
  • MongoDB Backup Agent
  • Log aggregation software
  • Monitoring software
  • Maybe more

 

Getting started with setup

  • Install required package sudo apt-get install python3.6-dev libssl-dev libffi-dev for bigchainDB installation
  • Run sudo -H python3.6 -m pip install bigchaindb==2.0.0b9 for BigchainDB
  • Configure bigchainDB bigchaindb configure
  • Install mongoDB and run before start bigchainDB.
  • Run bigchainDB Sudo bigchaindb start
  • Install tendermint
sudo apt install -y unzip
wget https://github.com/tendermint/tendermint/releases/download/v0.22.8/tendermint_0.22.8_linux_amd64.zip
unzip tendermint_0.22.8_linux_amd64.zip
rm tendermint_0.22.8_linux_amd64.zip
sudo mv tendermint /usr/local/bin
  • Finally, Initiate and run tendermint node
tendermint init
tendermint node

NOTE: Make sure the system has python 3.6+ already installed. Here all command run using Python 3.6

 

 

About Author

Author Image
Harikesh Maurya

Harikesh is an Experienced Software Engineer with a demonstrated history of working in the information technology and services industry. Skilled in Java Enterprise Edition, Java, Spring Boot, Spring Security, and Hibernate. He has a good sense of humor.

Request for Proposal

Name is required

Comment is required

Sending message..