As a part of my term-work for my fourth semester, I had to complete a remote internship. As I was already working for a “NVcoins’ blockchain personal project, in order to learn the deeper concepts I decided to pursue an internship in the same field. Hence, I worked with CILANs Systems for a remote internship(Due to COVID-19 situation).
The idea that I worked was for building a block chain application to distribute royalties for the entertainment industry. For this, I created five certificate authorities- ActorCA, ProducerCA, WriterCA ,BuyerCA & OrdererCA- that would generate certificates which would let them interact with the hyperledger network. This network was created IBM cloud. There were eight peers(ledger storage); 2 for each CA(certificate authorities). Also, I created four MSPs (Message Service Provider) named- ProducerMSP, ActorMSP, BuyerMSP, OrdererMSP & WriterMSP. These were used to manage identities on the network. For consensus algorithm, I created ordering service named ‘Raft_Orderer’ which used raft algorithm.
The next step was to create a chain-code in Node JS ,that had many functions buying-selling asset( movies/series..etc),play function for calculating the number of a views of a particular asset which was sold. This helped in calculating the royalty distribution for the actors & producers. All functions were created to restrict access to different types of users. For example, if the user certificate was generated by ProducerCA , he would only be able to use functions like creating asset.This particular function would then be written on the block-chain.On the other hand,if the user certificate was generated by BuyerCA, he would only be able to view the asset & buy them.The different admin users had different roles; such as one would be able to issue certificates, assigning attributes to different users.
For this, I used IBM block-chain extension which is an VS code, which made the whole integration process very easy.Then I deployed this chain-code on the IBM block-chain service & created an API to interact with IBM cloud!
This sample demonstrates an end to end blockchain application that connects to Hyperledger Fabric 1.4 or the IBM…