Corda Science Projects

Joel Dudley edited this page Nov 12, 2018 · 24 revisions

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.

CorDapp ideas

  • 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 CordaRPCOps library by using GraalVM. Checkout a powerful Node.js example here!
  • Queryable states: By letting the ContractState implement the Queryable interface, 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 ServiceHub and CordaRPCOps
  • 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
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.