Corda Community Edition Key Concepts

Familiarize yourself with the key concepts and features of the Corda platform in the pages listed below. You should follow the suggested order of reading.

This content is intended for readers who are new to Corda and who want to understand its architecture and main building blocks. It does not contain any code and is suitable for non-developers.

Read an overview of the Corda distributed ledger:

  • The network - the ecosystem that Corda exists in.
  • The ledger, and how facts on the ledger are shared between nodes.

Read about the core CorDapp concepts:

  • States - represent shared facts on the ledger.
  • Transactions - update the ledger states.
  • Contracts - govern the ways in which states can evolve over time.
  • Flows - describe the interactions that must occur between parties to achieve consensus (to satisfy some business requirement).

The following advanced Corda concepts describe important conceptual information:

  • Consensus - how parties on the network reach consensus about shared facts on the ledger.
  • Notaries - the component that assures uniqueness consensus (prevents double spends).
  • Vault - the component that stores on-ledger shared facts for a node.

Finally, some concepts that expand on other areas:

  • Time-windows - transactions can be validated as having fallen after, before or within a particular time-window.
  • Oracles - transactions can include off-ledger facts retrieved using Oracles.
  • Nodes - each node contains an instance of Corda, one or more CorDapps, and so on.
  • Transaction tear-offs - transactions can be signed by parties who have access to only a limited view of the transaction parts.
  • Trade-offs that have been made in designing Corda and CorDapps.

After you’ve become familiar with the key concepts of Corda, see them in action by running a sample CorDapp.

The detailed thinking and rationale behind these concepts are presented in two white papers:

Explanations of the key concepts are also available as a series of webinars.

Was this page helpful?

Thanks for your feedback!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.

We're sorry this page wasn't helpful. Let us know how we can make it better!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Create an issue

Create a new GitHub issue in this repository - submit technical feedback, draw attention to a potential documentation bug, or share ideas for improvement and general feedback.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.