Blockchain is the hype of the moment. Seemingly everything gets better with blockchain and company values skyrocket when including blockchain in their name. Although many of these stories may have to be taken with a grain of salt, blockchain technology itself is a very interesting development. To find out more about the possibilities, we decided to go on a journey of exploration in this strange world. This journey led us from certificate authorities, peers, orderers, experimental builds, endorsement policies to even more strange places with which it will be hard to impress anyone in your social life. Still, I would like to take you with me in this story about Hyperledger Fabric and Java.
A blockchain application is not your average CRUD application. Interaction with a blockchain is very different from interaction with a (No)SQL database. You have to continuously consider endorsement policies (there’s that term again) and the possibility that different peers do not share their opinion about a certain transaction. Also the code that runs within the blockchain, the Chaincode, is special. The environment in which Chaincode operates is very limited in its interactions with the outside world. Messages come in, answers go out and you have access to the world state. You will therefore have to think carefully about the structure of these three components. In addition, the deployment model is very different from what we are used to in the Java world. Especially upgrading the Chaincode and the permissions and policies certainly deserve some special attention.
Since there is plenty to tell about Hyperledger Fabric and Chaincode, I will not introduce blockchain itself. You do not have to be an expert in this field, but I do expect you to be familiar with the principles. If you have any doubts about this, read the IBM E-Book Blockchain for Dummies briefly. That should provide enough foundation to attend the presentation.