Get the code
View the demo
by Amandeep Singh, Janki Vora, Luca Marchi, Mathews Thomas, Mike Alexander, Sharath Prasad, Utpal Mangla | Published September 18, 2018
Note: This code pattern is currently being updated to focus on IBM Blockchain Platform V2.0.
Communications service providers (CSPs) often encounter issues related to subscribers on roaming CSP networks, and they do not always have clear visibility into their subscribers’ activity on those networks. Payment reconciliation for roaming customers takes time and requires the intermediation of third-party clearinghouses with the associated costs. Fraud detection and prevention continue to be relevant issues for most CSPs, and costs more than $38 billion USD annually. Fraudulent subscribers can access a home CSP network while cloning the roaming subscriber’s identity. Blockchain brings these CSPs onto a single blockchain Hyperledger network, which enables direct exchange of information with transactions that are immutable and executed based on a consensus model that uses smart contract rules. This improves the CSP’s visibility into the subscriber, enables quick payment reconciliation, and reduces fraudulent transactions.
This blockchain Hyperledger Composer project shows you how to create a Hyperledger Fabric with smart contracts that govern the transactions between CSPs acting as home operators and roaming partners to track the activities of mobile users on the network.
This solution covers four use cases:
The business value for clients is as follows:
This image illustrates the ecosystem behind the solution:
The business network definition consists of model (.cto), transaction functions (.js), and access control list (.acl) files packaged into the chaincode archive file (.bna). This can be developed and tested using Hyperledger Composer Playground as part of Hyperledger development tools, and is then exported and deployed to a Hyperledger Fabric network. A Hyperledger Composer REST server is then deployed, which generates the REST APIs used to interact with the blockchain network and invoke and query transactions.
The flow below describes the steps to follow when creating the blockchain components for the solution. Please note that a separate UI and additional back-end components are required, but they are not highlighted here:
Ready to put this code pattern to use? Complete details on how to get started running and using this application are in the README.
Let's dive into the challenges faced by TME companies, the benefits of blockchain to a TME company, and some of…
Back to top