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.
Transaction is Posted to BigchainDB web frontend
Transactions are collected into a block
Block is sent to Tendermint for replication
Tendermint asks each node to CHECK the block.
Node validates block schema and ID and says valid if it's valid
Tendermint asks each node to DELIVER the block.
Node write block to bigchainDb table.
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