After gulping a lot about the “disrupting” things related to Blockchain technology, I was very intrigued to quickly set up a development environment with whatever is free and useful on the Internet for developing a kick-ass DApp (I am Joking, Just trying “Hello, World!” 😉 I came to learn that “Ethereum” is the most matured protocol around blockchain. Before I proceed further with tools available to set up dev environment locally for Ethereum, I just wanted to have some background knowledge on the kind of blockchain infrastructure I am going to build around Blockchain.
In this blog, I will first introduce the type of blockchain networks and will conclude with what are we going to build for our development environment.
As we know, the block network can be divided into two broad categories, i.e. Public and Private networks. Both networks are decentralized and peer to peer but they have separate use cases. Let us now understands the kind of Networks in the blockchain.
Kind of Blockchain Networks
Public blockchains: A Public blockchain is accessible to anyone in the world. One can read or push transaction on a public blockchain and validate the transactions being executed on the blockchain. The kind of blocks which can be added to the blockchain is decided by a consensus by the peers.
Private blockchains: The write permission is in command of a central authority in the network, However, the transaction is fully transparent to every peer in the network. Read privileges can also be customized.
Consortium blockchains: The consensus process is controlled by a pre-defined set of nodes which are trusted; for example, A network consists of academics institutions in the world each govern a single node and the blocks are validated by n number of signatories within the network.
“MainNet”: The main Ethereum Network
The above screenshot is taken from ethernodes.org. This site provides stats for the public Ethereum network. The ETHER or ETH carry the real value of ether on the MainNet. As the size of MainNet grows, you need more compute and storage power to validate the blocks on the MainNet. Anyone can connect to the “MainNet”. You can get the instructions on “How to connect with “MainNet” at ethdocs.
“TestNet”: The test Ethereum Network
The Ether on the TestNet does not carry any real value and is only for a collaborative testing on the network. You can explore “TestNet” tab as shown in the image above on ethernodes.org. But still, It takes hours to get into the sync of the network and able to push your blocks. So it might be the choice of a rapid development. Here is a snap of connecting to one of the TestNet “ropsten” using Parity Ethereum client which I tried on my local machine. You can notice the logs and time of node sync in the snap. Also, In addition to that, each transaction on the Network costs some gas for which test ETH is required. It can be mined locally by some tool like ethminer. Still, we need some complex set up to work on Tesnets.
The Private Blockchain Network:
The private node can be pre-configured to have some test ETH while starting up. The private nodes can be quickly launched with minimal storage and memory requirements and without much effort. And will be an Ideal choice having a basic Development environment. Here is a screenshot of private blockchain using go-ethereum client on the local machine. You can see there is not any time consuming syncing required for this.
Now, we are familiar with the kind of networks which are there. We can say we want the private network first for the purpose of a basic development environment set up. The choice of other Networks depends on our use cases. I Hope you have now a clear picture of different kind blockchain networks available in Ethereum blockchain space. In the next part of the blog, we will explain, how we can set up a private network of Ethereum. Thanks for reading!! Stay Tuned!!