2015-11-25 13:27:07 +00:00
|
|
|
What's included?
|
|
|
|
================
|
|
|
|
|
2017-03-21 13:45:18 +00:00
|
|
|
This Corda early access preview includes:
|
2016-06-30 09:52:31 +00:00
|
|
|
|
2017-03-21 13:45:18 +00:00
|
|
|
* A collection of samples, for instance a web app demo that uses it to implement IRS trading.
|
|
|
|
* A template app you can use to get started, and tutorial app that teaches you the basics.
|
2016-06-30 09:52:31 +00:00
|
|
|
* A peer to peer network with message persistence and delivery retries.
|
|
|
|
* Key data structures for defining contracts and states.
|
2016-08-24 13:38:43 +00:00
|
|
|
* Smart contracts, which you can find in the :doc:`contract-catalogue`.
|
2016-06-30 09:52:31 +00:00
|
|
|
* API documentation and tutorials (what you're reading).
|
2017-03-21 13:45:18 +00:00
|
|
|
* A business process workflow framework.
|
2016-06-30 09:52:31 +00:00
|
|
|
* Notary infrastructure for precise timestamping, and elimination of double spending without a blockchain.
|
2017-03-21 13:45:18 +00:00
|
|
|
* A simple RPC API.
|
|
|
|
* A user interface for administration.
|
2015-11-25 13:27:07 +00:00
|
|
|
|
|
|
|
Some things it does not currently include but should gain later are:
|
|
|
|
|
2017-03-21 13:45:18 +00:00
|
|
|
* Sandboxing, distribution and publication of smart contract code.
|
|
|
|
* A well specified wire protocol.
|
|
|
|
* An identity framework.
|
2015-11-25 13:27:07 +00:00
|
|
|
|
2017-03-21 13:45:18 +00:00
|
|
|
The open source version of Corda is designed for developers exploring how to write apps. It is not intended to
|
|
|
|
be production grade software. For example it uses an embedded SQL database and doesn't yet have connectivity
|
|
|
|
support for mainstream SQL vendors (Oracle, Postgres, MySQL, SQL Server etc). It hasn't been security audited
|
|
|
|
and the APIs change in every release.
|
2015-11-25 13:27:07 +00:00
|
|
|
|
2017-03-21 13:45:18 +00:00
|
|
|
Source tree layout
|
|
|
|
------------------
|
|
|
|
|
|
|
|
The Corda repository comprises the following folders:
|
|
|
|
|
|
|
|
* **buildSrc** contains necessary gradle plugins to build Corda.
|
|
|
|
* **client** contains libraries for connecting to a node, working with it remotely and binding server-side data to JavaFX UI.
|
|
|
|
* **config** contains logging configurations and the default node configuration file.
|
|
|
|
* **core** containing the core Corda libraries such as crypto functions, types for Corda's building blocks: states,
|
|
|
|
contracts, transactions, attachments, etc. and some interfaces for nodes and protocols.
|
|
|
|
* **docs** contains the Corda docsite in restructured text format as well as the built docs in html. The docs can be
|
|
|
|
accessed via ``/docs/index.html`` from the root of the repo.
|
|
|
|
* **finance** defines a range of elementary contracts (and associated schemas) and protocols, such as abstract fungible
|
|
|
|
assets, cash, obligation and commercial paper.
|
|
|
|
* **gradle** contains the gradle wrapper which you'll use to execute gradle commands.
|
|
|
|
* **gradle-plugins** contains some additional plugins which we use to deploy Corda nodes.
|
|
|
|
* **lib** contains some dependencies.
|
|
|
|
* **node** contains the core code of the Corda node (eg: node driver, servlets, node services, messaging, persistence).
|
|
|
|
* **node-api** contains data structures shared between the node and the client module, e.g. types sent via RPC.
|
|
|
|
* **node-schemas** contains entity classes used to represent relational database tables.
|
|
|
|
* **samples** contains all our Corda demos and code samples.
|
|
|
|
* **test-utils** contains some utilities for unit testing contracts ( the contracts testing DSL) and protocols (the
|
|
|
|
mock network) implementation.
|
|
|
|
* **tools** contains the explorer which is a GUI front-end for Corda.
|