Before developing our decentralized application (smart contract), let's recap the use cases that we want to program into the smart contract and from there design our data model, transactions, and events. As explained in Chapter 9, Building a Next-Generation Oracle B2B Platform, the goal is to create an application that allows for a unified way of working and sharing data about accidents, insurance policies and claims, and vehicle repairs among involved organizations. All organizations will use the same smart contract, deployed on the blockchain, as the single source of truth for querying data and executing transactions, whereas with traditional cross-organizational applications, every organization has its own back-office system.
To re-familiarize yourself with the use case, look at the following diagram, which shows the smart contract interactions among the participating organizations:
Organizations interact with each other on the blockchain through an identical smart...