Recipe ID: hsts-r54
We offer blockchain introduction, Hyperledger for system admin, Ethereum, Solidity, Corda R3, Hyperledger for developers, blockchain cybersecurity and more classes in self-paced video format starting at $60. Click here to learn more and register. For complete self-paced blockchain training, visit our Complete Blockchain Development Training page.
In this tutorial, we briefly review the Corda R3 Decentralized Application or DApp. This tutorial helps you to have a good understanding of Corda DApp architecture and you will use it in developing your future blockchain applications using Corda platform. In other words, in order to build distributed ledger application in Corda, you must fully follow and understand this tutorial.
CorDapps (Corda Distributed Applications) are distributed applications that run on the Corda platform. The goal of a CorDapp is to allow nodes to reach agreement on updates to the ledger. They achieve this goal by defining flows that Corda node owners can invoke over RPC:
CorDapps take the form of a set of JAR files containing class definitions written in Java and/or Kotlin.
These class definitions will commonly include the following elements:
But the CorDapp JAR can also include other class definitions. These may include:
Suppose a node owner wants their node to be able to trade bonds. They may choose to install a Bond Trading CorDapp with the following components:
After installing this CorDapp, the node owner will be able to use the flows defined by the CorDapp to agree ledger updates related to issuance, sale, purchase and exit of bonds.
Corda and Corda Enterprise are compatible and interoperable, which means you can write a CorDapp that can run on both. To make this work in practice you should follow these steps:
Note
It is also important to understand how to manage any dependencies a CorDapp may have on 3rd party libraries and other CorDapps.
Note
As of Corda 4 it is recommended to use CorDapp Jar signing to leverage the new signature constraints functionality.
In summary, structure your app as kernel (contracts, states, dependencies) and workflow (the rest) and be sure to compile the kernel against Corda open source. You can compile your workflow (Jars) against the distribution of Corda that they target.
After finishing this tutorial, you can move on to below tutorials:
Build and Run Sample Corda Decentralized App for a Distributed Ledger
Develop your first Decentralized Application using Corda Distributed Ledger
Also, if you like to learn Corda or other blockchain development platforms via hands-on projects, the following classes are recommended:
Blockchain Hyperledger Fabric and Composer development- 30 hour course
Blockchain Ethereum development with Solidity- 30 hour course
Blockchain Corda R3 distributed ledger development- 30 hour course
Become Blockchain Certified Security Architect in 30 hours
We offer private coding classes for beginners online and offline (at our Virginia site) with custom curriculum for most of our classes for $59 per hour online or $95 per hour in virginia. Give us a call or submit our Private Coding Classes for Beginners form to discuss your needs.