0
votes

I am working on a project to develop a Blockchain-based solution for Supply chain management. As I intend to make a privileged, permissioned network, I started the development on Hyperledger Fabric. I wish to ask 2 broad questions about this:

  1. Is Hyperledger Fabric a good choice for highly dynamic networks, which are permissioned and secure? What blockchain solutions are commonly used in the industry for such problems?
  2. If Hyperledger Fabric is to be used, are there any free, open-source developer tools, to simplify the network creation, updating, and management, such that only the Smart contracts and applications need to be made by the developer? Something similar to IBM Blockchain Cloud, but completely unpaid to use for the amateur, student developers. Are there any free substitutes for scalable Hyperledger fabric composer now?

Thanks in advance!

1

1 Answers

0
votes

I dont know about other blockchain frameworks out there except HLF, so I'll limit my response to only HLF.

You can also try Amazon managed blockchain too. It has got two netwrok types. Checkout about being 'free' in there, as there are two network types that you can create.

User management is a subject in HLF, where each organization can have its own MSP (membership service provider). HLF offers CA (certificate authority) server where crypto material is generated by this server which later would be used to connect to the network. So user management basically becomes cert management. I'm not sure about IBM managed HLF, but Amazon managed blockchain as of date (AMB HLF 1.4, but latest HLF is 2.3 as of date) does not have UI driver user permissioning, you'll have to monkey around with commands and stuff, but once you get hold of how to do it, it would be simple scripting for user management.

The best way for network creation is to first spin off the test network that HLF has given in its website https://hyperledger-fabric.readthedocs.io/en/release-2.3/test_network.html Mind you it is not a simple 'hello world' program that you see in NodeJS or Java, but it is going to be a full blown implementaion that you are getting into even with the sample that is given in their website. For a completely novice user, this itself can take days to get it working.

Once you get this network to work, you'll have docker desktop running on your machine which has various containers running in it once the HLF network is UP. One of them is going to be CouchDB, this would hold the ledger data (HLF world state), so you can use browser based UI to access this CouchDB to see what all data got put into ledger. All this if you have spun up HLF on your local machine by going through all that documentation, but if you use AMB, there is no UI to 'see' what all ledger data got created in it (as of date), for this you'll have to write your own API in chain code that queries and returns data for you.

Also, I find it highly awkward that each concept is illustrated in 3 languages - Node, Go, TypeScript. Although Java is also support, there almost is no mention of Java implementation in their website (as of date) in their regular 'theory' that they explain.

So, for HLF you'll have to not just fix on the version of HLF you want to use, but also fix on the programming language you want to write your chaincodes and HLF client code in.