Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Corda Science Projects
We're always looking for contributions to Corda, whether it's new features, bug fixes, refactors or open-source CorDapps. Past community CorDapps and Corda projects are listed on the code page.
If you're looking for inspiration, here's a list of ideas for CorDapps (each CorDapp demonstrates a feature or pattern for which no samples currently exist). Feel free to build one of these - or anything else you have in mind! - and send it to us for inclusion on our code page.
If you'd like to contribute bug fixes, features or refactors instead, please see our good first issues.
If you hit a wall, reach out on the
#contributing channel on the Corda Slack.
- Maven template: Apache Maven allows developers to take real control over the build process in a way that scales. Challenge yourself to build a CorDapp that uses Apache Maven as its build system.
- Eclipse template: Eclipse is the world’s most popular IDE for Java developers, you can enable millions of developers use their favourite tools through a version of the CorDapp template set up for Eclipse development.
Python or Ruby webserver in Graal: GraalVM is an exciting tool that is an extension of the Java virtual machine to support more languages and execution modes. Be the first to lay the foundation for Python or Ruby developers to build frontends on top of Corda nodes without the need for the
CordaRPCOpslibrary by using GraalVM. Checkout a powerful Node.js example here!
Queryable states: By letting the
Queryableinterface, a Corda node’s vault can become SQL queryable with any JDBC friendly database in the world. Corda is the first of its kind to grant this feature. To illustrate the power of an RDBMS running on a distributed ledger why not build a Cordapp, similar to the IOUState, but simpler providing examples of querying the vault based on State attributes via both the
- JavaFX front-end: Java FX is the go-to frontend framework when developing Java applications. CorDapps typically allow user interaction via a web front-end. This CorDapp would provide a simple JavaFX front-end instead, like the Node Explorer
- Custom notary algorithm: Corda has experimental support for custom notary algorithms. This CorDapp would provide a custom notary algorithm. It could be distributed or non-distributed, validating or non-validating, useful or stupid :)
- Composite keys: Corda allows the use of unique data structures called composite keys to specify complex, multi-party signing scenarios (e.g. signature required from Alice OR (Bob AND Carl). Be the first to demonstrate how an asset on the ledger could be controlled by untrusting parties through the use of a composite key!
- Braid reactive CorDapp: Braid makes it easy to stream node updates to the frontend. This CorDapp would exploit this capability, for example by serving anonymous transaction stats from a notary to a webpage