How hyperledger fabric works in private block chains? - hyperledger-fabric

I am new to block chain and learning from past few weeks about block chain but until now I have many times heard about hyper ledger fabric but never found a good documentation for a begginer.

As previously answered, the official documentation is quite good and it will definitely be helpful for a beginner. I have used this documentation to create and run blockchain networks on MacBooks and laptops running on Ubuntu. I have no experience of running Hyperledger on a Windows machine. If you have a Windows machine, create a dual boot so that you can use Ubuntu for your Hyperledger work.
Use the tutorials provided as part of the Hyperledger download. They do work as long as all of the pre-requisites are satisified. The test-network tutorial is quite good as it starts you off with building a 2-peer network.
If you use Visual Studio Code, there is an IBM extension that you can use as well. I'm not sure if it has advanced beyond version 1.4 yet, but it will help you to get a single peer network up and running quickly so that you can concentrate on perhaps developing some contract code. YouTube is a great source for Hyperledger tutorial videos which should be quite helpful.
Best of luck.

Related

Hyperledger Cello vs Minifabric

I am a newcomer to the Hyperledger world. While exploring the options to build the blockchain network, I came to the two options.
Hyperledger Cello
Minifabric (https://github.com/hyperledger-labs/minifabric/)
Both the projects are under the hyperledger-labs repo.
I like to understand the purposes of these 2 projects, I looking for an option that can help me to focus on the application layer/Chaincode rather than messing into the multihost network management.
by the way at last I need to deploy the project on production. Possibly I will be using on-premises machines and cloud VMs both. Also, I am looking for options to lay down the production network as well.
In addition to the excellent response by Kekomal, you might also want to consider looking at the free IBM Blockchain Platform extension for VSCode (can be found in the VSCode extensions marketplace). This is designed to help you focus on the application/chaincode layer and provides an inbuilt fabric you can use for testing
For your purpose, use Minifabric. I find it the simpler, faster and lighter way to start your development network to test your chaincodes.
Cello is more oriented to build and maintain your pre-production or production network as a service.
By the way, there is a third option that is building your network from Fabric docker images and Fabric tools, which is the best method to learn how your Fabric network really works. But, for your purpose, I would use Minifabric.

Does anyone know the instructions for building a hyperledger fabric network from scratch step by step?

I'm a novice in fabric development and I am at the beginning of the road. I could not find a suitable integrated tutorial from the base, so i follow hyperledger fabric from latest version documents. From Here I understood a number of concepts such as working with the test network, the commercial paper network, how to work with and develop smart contracts and ... . But I'm a little confused. The fabric document is not coherent and step by step and I could not figure out how to write my target network from scratch (like config my own network, write yaml file and scripts), so does anyone know the instructions for building a hyperledger fabric network from scratch step by step?

Hyperledger Fabric blockchain network from scratch

I've been studying the Hyperledger Fabric framework reading the docs for quite a while now but I'm getting a little lost in the middle of all that info. My question is: Is there any guidelines/"Step by step" on how to design a blockchain network from scratch? If you are starting a new project, where do you start?
Because I think I would understand it way more quicker if I actually started coding a little instead of reading and reading and reading...
Thanks a lot!
Edit 1:
I've chosen #kekomal answer as the correct one but I'd like to thank #Isha Padalia for the awesome VS Code extension and tutorial.
If you are really interested in learning and diving into Hyperledger Fabric, avoid byfn script. It performs a lot of magic for building a very simple Hyperledger Fabric network. After that, you have a network that you don't know how has been created and you have absolutely no idea of how to start deploying your custom network. There are daily questions here from people who started that way and are absolutely lost.
I find interesting this tutorial: https://medium.com/beyondi/setup-the-hyperledger-fabric-network-from-scratch-b82913b47549. Take into account that it is a little bit outdated.
You can complement it with this newer tutorial: https://www.blockchainexpert.uk/blog/how-to-deploy-hyperledger-fabric-network-from-scratch. Don't only run the steps. Analyze the files in https://github.com/blockchain-expert/hyperledger-fabric-network-from-scratch. Try playing with configtx.yaml, crypto-config.yaml and docker-compose files to customize your network and understand what you are doing.
Customize your organizations, your consortiums, your ordering service, your peers... Create your channels, join them, update your anchor peers... And understand what you are doing.
After that, if your network had one orderer, deploy a new one with more than one (with Raft consensus). If your network was using cryptogen, deploy a new one using Fabric-CAs instead. Or you can follow by playing with chaincodes.
NOTE: Apart from Hyperledger Fabric itself, it is essential to have basic notions of docker and PKI.
You are a beginner in Hypelredger fabric development then you have first cleared the concept of the orderer, peer, CA, and organization concept. And then first you have to start IBM Blockchain Platform VS Code extension for fabric. It will provide a local fabric environment to create, test and deploy a fabric smart contract. Also generate 1 peer, 1 orderer, 1 CA service under VS code environment.
Here is a link to start development with VS code extension.
Hope it will help you:)
hi #d3v9 start from here https://hyperledger-fabric.readthedocs.io/en/release-1.4/build_network.html. also you can find some great article on medium

Making a development and deployment environment for blockchain applications. Tools needed

I would like to learn a little bit from Blockchain and I need to make an university task based on this question.
The main idea is to conceptually learn about what should an environment need to develop and deploy the blockchain solutions.
My problem is that I am not a developer and I am an industrial engineer. This is my first experience with something like this and I have no idea about this stuff. I read a lot about this on github sites about some of these platforms, mostly Hyperledger Fabric and Ethereum. I am very confused about what I have read is the need of an application generator, a code editor, containers such as dockers, something about APIs and REST servers, CLI tools, Frameworks, clients, libraries as node.js or npm...
I know how Blockchain works but I do not have an idea of how to create it and start with it.
So I need a list of the vital tools because I did not find anything well explained for a beginner.
Thank you.
Consider taking the Hyperledger "Introduction to Blockchain Development" course. It's free, unless you want a certificate.
https://www.edx.org/course/blockchain-for-business-an-introduction-to-hyperledger-technologies
Hyperledger has multiple blockchain platforms, such as Sawtooth or Fabric. They are all permissioned blockchains and do not use cryptocurrency.
If you want to use a public blockchain that uses cryptocurrency, consider Ethereum.

Hyperledger-Composer. Modify the ledger via remote access

So far I have followed the hyperledger developer tutorial, but I have a couple of questions basically the same I pressume. Let us assume that I have running my application as stated in the developer tutorial in machine A.
The first question is: How can I modify the ledger in machine A from B when they are in the same network?.
The second is: How can I modify the ledger in machine A from B when they are in different networks?.
The Composer Developer tutorial (and in fact all of the Compose tutorials) focus on the Composer aspects of developing and deploying a Business Network. They do not focus much on the Fabric issues of multi-org and multi machine. The Developer tutorial uses a very simple development Fabric of 1 Peer in 1 Organisation, and some automated scripts set this up for the developer to concentrate on the Model and the code.
For background on Hyperledger Fabric and experimentation with multi peer, multi org Fabrics I would suggest looking at the Fabric tutorials.
To get more of a view of Multi-Org from a Composer perspective I would suggest looking at the Composer Multi-Org Tutorial.
Be aware that the above 2 references simulate multi-org Fabrics, but actually run on a single machine for simplicity. There are other tutorials and blogs available in various places for running on multi-machine configurations e.g. https://www.skcript.com/svr/setting-up-a-blockchain-business-network-with-hyperledger-fabric-and-composer-running-in-multiple-physical-machine/

Resources