2017-06-21 12:55:48 +00:00
|
|
|
What is a CorDapp?
|
|
|
|
==================
|
2017-06-05 12:37:23 +00:00
|
|
|
|
|
|
|
Corda is a platform. Its functionality is extended by developers through the writing of Corda distributed
|
|
|
|
applications (CorDapps). CorDapps are installed at the level of the individual node, rather than on the network
|
|
|
|
itself.
|
|
|
|
|
|
|
|
Each CorDapp allows a node to handle new business processes - everything from asset trading (see :ref:`irs-demo`) to
|
|
|
|
portfolio valuations (see :ref:`simm-demo`). It does so by defining new flows on the node that, once started by the
|
|
|
|
node owner, conduct the process of negotiating a specific ledger update with other nodes on the network. The node's
|
|
|
|
owner can then start these flows as required, either through remote procedure calls (RPC) or HTTP requests that
|
|
|
|
leverage the RPC interface.
|
|
|
|
|
|
|
|
.. image:: resources/node-diagram.png
|
|
|
|
|
|
|
|
CorDapp developers will usually define not only these flows, but also any states and contracts that these flows use.
|
|
|
|
They will also have to define any web APIs that will run on the node's standalone web server, any static web content,
|
|
|
|
and any new services that they want their CorDapp to offer.
|
|
|
|
|
|
|
|
CorDapps are made up of definitions for the following components:
|
|
|
|
|
|
|
|
* States
|
|
|
|
* Contracts
|
|
|
|
* Flows
|
|
|
|
* Web APIs and static web content
|
|
|
|
* Services
|