hyperledger-fabricblockchainhyperledgerhyperledger-fabric-caibm-blockchain

Connecting a web application to Hyperledger Fabric blockchain network


I want to create a Hyperledger Fabric network which has a frontend. The web application is having feature of registering and login the user.The question is :-

  1. Does registering a user through web application require also to register the user in fabric-ca-server (Fabric CA).
  2. Do we need to create credentials for the newly registered users like we generate credentials for peers, orderers or other participants in the network?
  3. What will be the "role" of the newly registered participant in the network? What role should we give to the newly added member?
  4. Is there any need to properly create an MSP structure for a new user?
  5. How many users can be registered through Fabric Certificate Authority?
  6. How many participants/users can belong to one peer node? Do the users/participants which belongs to any one peer organisation will share the same ledger data?
  7. what should be the login logic when after registering the user in the network ?

Solution

  • First of all, I will try to explain you how are organized at Hyperledger Fabric the different components. Hyperledger Fabric is focused on organizations, because of it, Blockchain nodes belong to the different organizations. However, each organization then will have many users.

    Now, I will try to answer your questions:

    1. Web application users can be managed as you want. If they will operate against the Blockchain, they need a certificate. However, many users could user the same certificate, for example a generic certificate for all the users of that organization.
    2. You need at lest one client certificate.
    3. It role will be client.
    4. Yes, each component requires a MSP structure. At that structure, it will have its public and private key, as well as the certificates of its trust chain. So, for each user it will be created a MSP directory. However, it could be mentioned that each individual belongs to an organization. And each organization it is identified by each MSP.
    5. You can registry as many as users as you want. The attributes option will be also interesting for it. However, there are many options to manage it.
    6. The ledger data is shared among the organizations that are at the same channel. Then, you can define at your Chaincode restrictions about who can execute a function.
    7. In my opinión, you should think about your users management strategy and decide if they will operate with the same certificate of each of them will have one.