DevTeam.Space Product Development Blog

Explore our in-depth product development tutorials and new technology announcements published by our software development experts

All articles

How To Integrate A Blockchain Supply Chain Into Your Enterprise Company

blockchain based supply chain

How is your existing supply chain coping with your company demands as it grows? Understandably, your supply chain is crucial to you, moreover, it’s likely a large and complex one for those of you operating an enterprise level company.

You are likely wondering how to derive greater value from your supply chain. Well, you are certainly not alone since most enterprises see a pressing need to transform their supply chain operations.

Technology infusion has certainly improved supply chain management, however, the complexities of the global business environment have grown massively in the last decade or so. Consequently, you need more effective technology solutions to ease the burden and to ensure maximum efficiency.

Blockchain is making a difference in many functional areas of organizations, as I have explained earlier in “Implementing blockchain smart contracts into your enterprise product”. It’s making its mark in supply chain management, too!

Should you implement a blockchain supply chain solution in your enterprise? How would you go about it? Find out in this guide!

Contents

Supply chain management: Challenges galore!
Why use blockchain for the supply chain?
Blockchain use cases in the supply chain space
Examples of enterprises using blockchain to improve supply chain management
How to implement a blockchain supply chain solution in an enterprise?
Planning to transform your enterprise supply chain operations with the help of blockchain?

Supply chain management: Challenges galore!

managing a supply chain

SCM – Supply Chain Management concep. SCM concept template. Contains such icons as management, analysis, distribution, procurement. Infographics Supply Chain Management

What challenges do you as an enterprise business leader face vis-à-vis supply chain management? Well, specific challenges vary from business to business, however, you can categorize them as follows:

  • Costs have increased throughout the supply chain for most businesses.
  • You probably have multiple channels to sell your products. While that’s great, it also increases the complexity of your supply chain management.
  • The globalized economy now offers multiple choices to consumers, therefore, they demand better service, quality, and speed. Your supply chain operations must keep up the pace with these demands.
  • Supply chain traceability remains hard to accomplish, given the wider range of sourcing channels available across the world.
  • You now face a much more complex global business environment with heightened risks, and this directly impacts your supply chain management.
  • Political uncertainties, protectionism, etc. cause significant volatility in the supply chain.
  • Just-in-time manufacturing, the need to predict seasonal hikes in demand, and shortened product development cycles have made supply chain management more complex.

Read more about these challenges in “What are the main supply chain challenges?”.

Why use blockchain for the supply chain?

You can see how efficiency, traceability, and transparency require immediate attention in the supply chain space, don’t you? Blockchain has distinct characteristics can make a difference here. The defining characteristics of blockchain are as follows:

  • Blockchain networks are decentralized. Anyone can join a public blockchain network like Bitcoin, however, private blockchain networks allow only trusted parties to join.
  • “Nodes”, i.e., computers on this network maintain a shared ledger of transactions, therefore, we also call blockchain the “Distributed Ledger Technology” (DLT).
  • Transparency is a key advantage of the distributed ledger of blockchain since it makes information sharing easier.
  • Digital signatures, encryption, cryptographic hash functions, and consensus algorithms make it hard for hackers to attack blockchain networks, therefore, blockchain networks prevent tampering of information.
  • Smart contracts run on top of blockchain networks. These transparent and tamper-proof pieces of code execute autonomously, which can improve contract administration.

You can read more about blockchain in our guide “How to build your own blockchain using Node.js”.

Blockchain use cases in the supply chain space

Wondering whether blockchain has practical use cases in the supply chain space beyond its lofty promises? It certainly has!

Various businesses are already implementing several blockchain use cases in this space, and the following are a few examples:

  • Provenance tracking: Your enterprise probably has plenty of elements in its supply chain like most other enterprises do. Tracking every record can be a challenge, however, blockchain is helping there.
  • Reducing costs: Blockchain enables real-time tracking of products and raw materials in the supply chain, which reduces costs.
  • Establishing trust: Your supply chain landscape is likely large, and you have many suppliers to deal with. You find it hard to establish trust when you work with diverse suppliers from across the world. However, blockchain reduces the need to explicitly trust 3rd parties with its mathematical algorithms and distributed ledger.

Read more about the blockchain supply chain management use cases in “How is blockchain disrupting the supply chain industry?”.

Examples of enterprises using blockchain to improve supply chain management

You can find several examples of enterprises using blockchain to transform their supply chain management, e.g.:

  • Walmart is using blockchain to track its food supply chain.
  • Maersk is working with IBM and using blockchain to improve the processing of cross-border, cross-party transactions.
  • BHP is using blockchain to track samples from external providers.

Read more about these examples in “Blockchain technology for supply chains—a must or a maybe?”.

Naturally, the market for blockchain supply chain solutions is growing rapidly. As a MarketWatch report states, this market was valued at $93.16 million in 2017. By the time 2025 ends, this market will likely be worth $9.852 billion.

The above-mentioned report states that we can expect a CAGR of 80.2% for this market between 2018 and 2025, which is very healthy! Technology giants like IBM, Microsoft, Oracle, SAP, AWS, Huawei, and TIBCO dominate the market of blockchain supply chain solutions.

How to implement a blockchain supply chain solution in an enterprise?

Wondering how do you implement a blockchain supply chain solution in your enterprise? Let’s dive deep and examine the steps, which are as follows:

1. Plan for success

You expect significant gains from a blockchain supply chain solution, therefore, it’s a high-visibility project. Plan it well, and start with onboarding a project manager (PM), an IT architect, and a team of business analysts (BAs). Onboard people with experience in implementing blockchain solutions.

What would your planning cover? It should encompass the following:

  • Defining the project requirements;
  • The type of blockchain you would use;
  • A hosting arrangement for your blockchain network;
  • The technology stack;
  • Onboarding a development team;
  • Estimating the project.

Consult our guide “What to plan for when undertaking blockchain software development?” for this planning exercise.

2. Decide on the type of blockchain you would use

Your enterprise supply chain solution will process sensitive data. You can’t afford to expose sensitive information, can you? While much of the discussions surrounding blockchain focus on public blockchain networks like Bitcoin, you can’t use them in this project.

Public blockchain networks allow anonymous or pseudonymous users, they maintain absolute transparency for all transactions, and finally, they don’t scale well. You can only allow trusted participants in your enterprise network, moreover, you need to implement access control.

Obviously, you need scalability too! An enterprise blockchain is appropriate for you, as I have explained in “Public vs private (permissioned) blockchain comparison”.

3. Plan where you will host your blockchain network

Would you want to focus on development, or would you spend time on IT infrastructure management? Well, I suppose that you would like to spend as little time as possible for IT infrastructure management!

Therefore, I recommend that you look for a cloud hosting arrangement for your blockchain network. You have good news here since cloud computing giants offer their “Blockchain as a Service” (BaaS) platforms. The following are a few examples:

  • “Blockchain on AWS”;
  • SAP Cloud Platform “Blockchain as a Service”;
  • “Microsoft Blockchain on Azure”;
  • “IBM Blockchain Platform”.

Read our guide “Best blockchain network hosts 2020 – Ethereum – Amazon etc.” to learn more about these platforms.

4. Decide on the technology stack you will use

What kind of apps are you developing? That will drive your choice of the technology stack, e.g.:

  • js works well if you are developing a web app.
  • If you plan to launch mobile apps, then I recommend that you develop native apps. You should use Java for native Android development and Swift for native iOS development.

This brings us to the question of which enterprise blockchain framework you should use. You have several choices, e.g., Hyperledger Fabric, R3 Corda, etc. I recommend that you use Hyperledger Fabric, which offers the following advantages:

  • Hyperledger Fabric, or Fabric as we commonly call it is an open-source project from the Hyperledger Consortium. Technology giants like IBM, Intel, SAP, CISCO, etc. participate in this industry alliance, therefore, Fabric gets excellent developer support.
  • Fabric has a modular architecture, and you can build pluggable components.
  • This enterprise blockchain framework has a “Hardware Security Model” (HSM) for digital keys, which offers higher security for sensitive apps.
  • You can build a permissioned blockchain using this open-source framework, and you certainly need that in an enterprise context!
  • Fabric offers robust performance and scalability.
  • You have sensitive data to process? Fabric has you well-covered here with its “Channel” technology for sensitive data, which uses data partitioning.
  • Fabric offers robust querying capabilities.

Our guide “Pros and cons of Hyperledger Fabric for blockchain networks” explains the advantages of this industry-agnostic framework in greater detail.

5. Estimate your project

You ought to estimate the cost of your blockchain supply chain solution implementation project, therefore, I will now walk you through the various cost elements. These are as follows:

  • IT infrastructure costs;
  • Tooling costs for any licensed tool that you use;
  • Development manpower costs;
  • Other administrative costs.

Read our guide “How much does it cost to build a blockchain project?” to learn how you can estimate this project.

6. Form your development team

It’s time to form your development team. Which roles do you need to onboard? I recommend the following:

  • UI designers;
  • js developers if you plan to build a web app;
  • Java developers with native Android development experience, if you plan to launch an Android app;
  • Swift programmers, if you plan to develop a native iOS app;
  • Hyperledger Fabric developers that know how to code “chaincodes”, i.e., smart contracts in Fabric parlance;
  • Testers;
  • DevOps engineers.

Check out our guide “How to find a good software developer” if you need help to onboard competent developers.

7. Install the relevant tools and configure your blockchain network

For the purpose of this guide, I assume that you are using the “IBM Blockchain Platform” and the Hyperledger Fabric Node.js SDK to build your blockchain network. Read “Hyperledger Fabric Client (HFC) SDK for Node.js” for instructions on how to set up this SDK.

You can do the following with this SDK:

  • Communicate with the blockchain network using the APIs as part of this SDK.
  • Configure your network using the Fabric Node.js SDK GitHub instructions.
  • Submit transactions to the Fabric chaincodes and query the blockchain ledger.
  • Create “channels” for sensitive data.
  • Create the various kinds of nodes you need.
  • Deploy chaincodes.
  • Monitor block and transaction-level events.

Take the following steps on the “IBM Blockchain Platform”:

8. Write your chaincodes

We are at the business end now! Chaincodes encapsulate the business logic of your blockchain supply chain solution, therefore, you need to code them now. Thankfully, the “IBM Blockchain Platform” offers excellent guides for developing chaincodes, and you can find them in “Writing smart contracts”.

9. Review your chaincodes

Smart contracts have a unique feature. You can’t modify them after you deploy them, therefore, you ought to be doubly sure about the code quality. Testing is important, however, it can’t identify all bugs with that. You ought to review your chaincodes.

Take the following steps:

  • Ensure that you review the right version of code, and conduct a static code analysis.
  • Check for common bugs like reentrancy, shadowing of variables, overflows, incorrect signature validation, etc.
  • Verify whether you have coded chaincodes in line with your functional requirements.
  • Track all bugs and review comments, subsequently, follow through to achieve a satisfactory closure on them.

Read our guide “Undertaking a blockchain code audit and its importance” for more details.

10. Test your chaincodes and deploy them

“IBM Blockchain Platform” offers robust documentation about its Hyperledger Fabric “Continuous Integration” (CI) process. Read “Getting to know the Hyperledger Fabric continuous integration (CI) process”, and learn the following:

  • How to use the Docker containers for deployment;
  • How to use Jenkins for CI;
  • The “build”, testing, and deployment processes.

Now that you have learned how to use this CI process, take the following steps:

  • Test your chaincodes, and deploy them.
  • Add the network API endpoints to your app.
  • Prove the authenticity of the app by enrolling it.
  • Use the client-side certificates you had generated during the enrolment process, and register the app.

 

Planning to transform your enterprise supply chain operations with the help of blockchain?

Blockchain is a niche technology, therefore, most projects involving blockchain implementation tend to be complex. You are planning to implement blockchain to transform your supply chain operations, therefore, you have a high-visibility project at hand, too!

Consider engaging a reputed software development company for such projects. Read our guide “How to find the best software development company?” to find such a trustworthy development partner.