Getting set up for CorDapp development
There are four pieces of required software for CorDapp development:
- Java 17 JDK
- IntelliJ IDEA
- Git
- Gradle
Installing the Java 17 JDK
![Click to copy the section link. heading-link-icon](/icons/chain-icon.png)
Install the Java 17 JDK. Corda requires at least version 17.0.9, but does not currently support Java 18 or higher for this version of Corda.
Corda has been tested against the following Java builds:
If you are using Windows, you must also add Java to the PATH environment variable by following the instructions in the Oracle documentation.
Installing the IntelliJ IDEA
![Click to copy the section link. heading-link-icon](/icons/chain-icon.png)
IntelliJ is an IDE that offers strong support for Kotlin and Java development.
Install the IntelliJ IDEA Community Edition. Corda supports IntelliJ IDEA versions 2023.x and 2024.x, and Kotlin plugin version 1.9.20.
To install IntelliJ IDEA in a Ubuntu environment, navigate to the Jetbrains IntelliJ snap package.
Installing Git
![Click to copy the section link. heading-link-icon](/icons/chain-icon.png)
We use Git to host our sample CorDapp and provide version control.
To install Git, navigate to Git and install your preferred version, depending on your OS.
Installing Gradle
![Click to copy the section link. heading-link-icon](/icons/chain-icon.png)
If you intend to proceed directly to run a sample CorDapp, as described in Running a sample CorDapp, the included gradlew
script should install Gradle automatically when you open the sample CorDapp in IntelliJ.
If you’d prefer to install Gradle manually, navigate to Gradle then locate and install Gradle version 7.6.4. Corda requires Gradle version 7.6.x, and does not support Gradle 8.x.
Next steps
![Click to copy the section link. heading-link-icon](/icons/chain-icon.png)
First, run the sample CorDapp.
Next, read through the Corda Key Concepts to understand how Corda works.
By then, you’ll be ready to start writing your own CorDapps. You may want to refer to the API documentation, the flow cookbook and the samples along the way.
If you encounter any issues, please ask on Stack Overflow or via our Slack channels.
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.