Welcome to the Corda documentation!¶
Warning
This build of the docs is from the “latest” branch, not a milestone release. It may not reflect the current state of the code. Read the docs for milestone release M8.2.
Corda is an open-source distributed ledger platform. The latest milestone (i.e. stable) release is M8.2. The codebase is on GitHub, and our community can be found on Slack and in our forum.
If you’re new to Corda, you should start by learning about its motivating vision and architecture. A good introduction is the Introduction to Corda webinar and the Introductory white paper. As they become more familiar with Corda, readers with a technical background will also want to dive into the Technical white paper, which describes the platform’s envisioned end-state.
Corda is designed so that developers can easily extend its functionality by writing CorDapps (Corda Distributed Applications). Some example CorDapps are available in the Corda repo’s samples directory. To run these yourself, make sure you follow the instructions in Getting set up, then go to Running the demos.
If, after running the demos, you’re interested in writing your own CorDapps, you can use the CorDapp template as a base. A simple example CorDapp built upon the template is available here, and a video primer on basic CorDapp structure is available here.
From there, you’ll be in a position to start extending the example CorDapp yourself (e.g. by writing new states, contracts, and/or flows). For this, you’ll want to refer to this docsite, and to the tutorials in particular. If you get stuck, get in touch on Slack or the forum.
Once you’re familiar with Corda and CorDapp development, we’d encourage you to get involved in the development of the platform itself. Find out more about contributing to Corda.
Documentation Contents:¶
- Writing a contract
- Where to put your code
- Starting the commercial paper class
- States
- Commands
- The verify function
- Using state groups
- Checking the requirements
- How to test your contract
- Adding a generation API to your contract
- How multi-party transactions are constructed and transmitted
- Non-asset-oriented smart contracts
- Making things happen at a particular time
- Encumbrances
- Clauses
- Writing a contract using clauses
- Writing a contract test
- Upgrading Contracts
- Integration testing
- Client RPC API tutorial
- Building transactions
- Writing flows
- Writing flow tests
- Running a notary service
- Using a notary service
- Writing oracle services
- Using attachments
- Event scheduling