CorDapps form the foundation of Corda networks. All transactions go through CorDapps. Until now, developing and distributing CorDapps has been an expensive proposition, requiring close coordination with Corda specialists. SettleMint has done the heavy lifting for your CorDapp development and distribution. This empowers any developer to build and deploy unique and powerful distributed applications on Corda networks.
Watch a demo video, or continue reading.
CorDapps are distributed applications that run on the Corda platform, and they are the only channel through which nodes in a Corda network can communicate. The goal of a CorDapp is to allow nodes to reach agreement on updates to the ledger. Each CorDapp defines a protocol for what functions can be called, what defines a valid ledger update, who can participate, and more. CorDapps thus govern all actions performed on a Corda business network, including exchanges, transactions, and updates.
CorDapps take the form of a set of JAR files with code written in Java or Kotlin. The most common components of a CorDapp are:
To build a CorDapp, you need to understand how these components are structured and how they interact. You also need to do things like sign your CorDapp, compile the code, upload it to your node, and distribute it to any other nodes you want to include in your business network.
As the “blockchain without a blockchain,” consensus in Corda’s distributed ledger protocol is achieved differently than, for example, in Enterprise Ethereum. The key differentiator in this context is that interactions and transactions in Corda are not “global,” meaning they don’t propagate across the entire network. Instead, when you want to create a transaction in Corda, you need to specify which nodes will be involved in the transaction. This is one of the ways Corda is able to maintain an effective balance between privacy and coordination, making it a good solution for many Enterprise-focused applications.
Since all communication between nodes in a Corda network must be done via a CorDapp, you’ll need to distribute your CorDapp to any nodes you want to include in your business network. Otherwise, the other nodes will not “understand” your transaction, and no actions will be taken.
Unfortunately, CorDapp distribution is a notoriously complex procedure.
Due to the complexity of CorDapp construction and deployment, traditionally only the most sophisticated organisations could rely on their inhouse talent to develop and distribute CorDapps from start to finish. Knowledge of Corda basics, proficiency with Java or Kotlin, and a detailed understanding of the deployment and distribution procedures are all prerequisites. The SettleMint platform democratises CorDapp development and deployment, turning any developer in a Corda expert.
Integrated Developer Environment (IDE)
Before you can build your CorDapp, there are a number of complex and time-consuming modifications that must be made to your system. For example, in addition to a java compiler and a text editor, you need to optimize your system for Corda configuration. SettleMint’s IDE simplifies that process dramatically. By providing a pre-configured visual studio environment - integrated right there in your browser and accessible via a simple URL - you’ll be able to immediately focus on building your CorDapp. Through the platform, the IDE is already connected to your blockchain node. This means that, in a single click, you can compile and upload your CorDapp to your node. Further, thanks to the SettleMint platform, your Corda node will automatically restart to make sure your CorDapp is correctly installed. This saves you the effort associated with manually performing these steps and reduces the potential for errors.
Comprehensive CorDapp Templates
As noted previously, a CorDapp is constructed by compiling various pieces (states, flows and contracts). All these files have a really specific structure that needs to be known and respected in order to successfully build a valid CorDapp. SettleMint has analysed the use cases that are best suited to Corda and we’ve developed templates and corresponding tutorials for how to build the CorDapps to enable those use cases. These templates act as the foundation for your unique application and provide inspiration for what’s possible and how to build the different pieces to make it possible. Fully customizing for your application and building something truly visionary, then, is a simple matter of tweaking the parameters.
The process of distributing CorDapps is notoriously complex. Without the SettleMint platform, you’d have to find a way to provide all members of your consortium with access to the JAR files of your CorDapp, download them, install them on their node correctly, and then restart their node to integrate the correct updates. This requires all members of the consortium to have the technical knowledge to manipulate their node and install the CorDapp on it. Each step entails a number of configuration actions that further complicate the procedure and lead to high rate of distribution failure.
Using the SettleMint platform drastically simplifies the process. You’ll be navigating through the platform, so the process is as simple as clicking to select the CorDapp you want distributed. Other business network members will receive a notification through the platform, informing them that a CordApp was suggested by another member of the network and advising them of the procedure to upload the CorDapp to their node. The CordApp will automatically be installed, and their node will be restarted to integrate the update to it. It’s that easy. You do not have to spend time on transferring CorDapp files by email to participants or making sure they are installed correctly. The platform will manage all that for you!
The time you save on distributing your CorDapp means more time to focus on the high-level concept for your CorDapp, and how it can improve coordination in your business network and add value to your organization!
Get our minibook to learn the ins & outs of Corda for blockchain, with 4 use cases.
Corda: the blockchain that doesn't use blockchain
Insights into enterprise blockchain and SettleMint updates delivered straight to your inbox.