This section describes the key concepts and features of the Corda platform. It is intended for readers who are new to Corda, and want to understand its architecture. It does not contain any code, and is suitable for non-developers.
The pages in this section should be read in order.
The first topics in this section provide an overview of the Corda Distributed Ledger:
The second set of topics describe the core CorDapp Concepts:
- States - The states represent shared facts on the ledger
- Transactions - The transactions update the ledger states
- Contracts - The contracts govern the ways in which states can evolve over time
- Flows - The flows describe the interactions that must occur between parties to achieve consensus (to satisfy some business requirement)
When you build a custom CorDapp, your CorDapp will have state, transaction, contract and flow classes.
The following Adavnced Corda Concepts describe important conceptual information:
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 - Trade-offs that have been made in designing Corda and CorDapps
- Deterministic JVM - Information about the importance and details of the deterministic JVM
The detailed thinking and rationale behind these concepts are presented in two white papers:
Explanations of the key concepts are also available as videos.