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
Cookies are important to the proper functioning of a site. To improve your experience, we use cookies to remember log-in details and provide secure log-in, collect statistics to optimize site functionality, and deliver content tailored to your interests. Click Agree and Proceed to accept cookies and go directly to the site or click on View Cookie Settings to see detailed descriptions of the types of cookies and choose whether to accept certain cookies while on the site.
About Author
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.