Native Vs. Virtual Machine Development Environment

Rajeev Sakhuja
A free video tutorial from Rajeev Sakhuja
IT Consultant, Mentor, Innovation evangelist
4.3 instructor rating • 6 courses • 44,036 students

Lecture description

Students can install Hyperledger dev environment natively or in a virtual machine. This lecture will help the student evaluate the options and make a decision on whether to install Hyperledger on

  • their host machine
  • or in a virtual machine

Learn more from the full course

Blockchain Development on Hyperledger Fabric using Composer

Learn to develop Network Applications on Hyperledger Fabric & Composer Technology

08:21:32 of on-demand video • Updated April 2019

  • Develop Hyperledger Blockchain Applications using Composer Framework
  • Model the Blockchain Applications using Composer modeling language
  • Evaluate if a business application will benefit by adoption of Distributed Ledger Technology
  • Develop front end (Client) applications using Composer API
  • Leverage Composer REST Server to design a web based Blockchain solution
  • Describe the various components of Hyperledger Fabric Technology (Peers, Orderer, MSP, CA ...)
  • Design Hyperledger Fabric Composer Business Network Application (NOT the infrastructure)
English In this course you'll be learning a lot of tools. You will be coding some business network applications and to do that you would need a development environment. The development environment can be created either by installing all the hyperledger fabric components on your machine, your desktop, your laptop or you can use a virtual machine for creating the development environment. In this lecture, I'll describe both environments and then you'll have to make a decision on whether you want to install hyperledger fabric natively or whether you want to go with the virtual machine based mechanism. Now keep in mind that it's not a mutually exclusive decision. You can decide to do both if you want. Let's start with this term Dependency Hell. Dependency Hell refers to a frustrating experience that the software developers have to go thru when they are installing software that have dependency on other software or specific versions of other software. Unfortunately in its current state, hyperledger fabric has a lot of dependencies. Before you can install your hyperledger fabric docker containers you need to have all of the software installed on your machine which at times can be a challenge. Let me share the student experience with native installation of hyperledger fabric. Native installation means you will install the various components of hyperledger fabric on your own machine or in a virtual machine. What I observed is that most of the time the Linux users are able to get their dev set up very quickly. And the reason is because most of the installation steps are automated. The Mac users are somewhere between the windows users and the Linux users. The Windows users are the ones who struggle the most. There are many many problems that have been reported and resolved in the past couple of months. So it's not that it doesn't work. It says that it'll take you more time if you are on Windows to install and get your hyperledger fabric environment up and running. So the obvious question is What are the choices. The choices are, You can have a native installation where the hyperledger fabric components are installed on your machine or you can install hyperledger fabric in a virtual machine. I'll compare the two choices suggested here. The native installation requires you to carry out installation of various softwares so it takes some time, especially if you run into issues. Virtual machine installation is quite fast compared to the native installation. Native installation requires you to execute certain manual steps whereas virtual machine installation is all automated. Version clashes and other issues are common in the native installation especially on the Windows platform whereas the virtual machine installation is self-contained and the versions are managed internally. It's easy to clean up the virtual machine rather than to uninstall the various components on the native installation. So here is my suggestion, But the end decision is yours. If you are using a supported Linux OS then go with the native installation. For MacOS, go with the native installation. Even for the new versions of windows such as Windows10 pro, go with the native installation. But if you are using Windows 10 home or some earlier version of Windows, Then I would suggest that you start with the VM based setup and later do the native installation. The instructions for setting up hyperledger fabric in a virtual machine are covered in the lectures in this section. So continue with the lectures in this section if you are going with the VM based installation. The native installation is covered in the next section. So what that means is that if you plan to go with the native installation you can skip the rest of the lectures in this section and go straight to the next section.