Dear Corda Community,
The first of my workshops about upgrading CorDapps starts today with the Corda Code Club. As part of this first session I am introducing Cordacademy.
The purpose of Cordacademy is to provide high quality educational samples and laboratories for Corda developers. It’s early days but here’s an overview of what’s in there so far…
The template repository is the basis of all samples and laboratories. The intention behind the template was to do all of the heavy lifting up front, so that we can focus on building what matters - the CorDapp. In this respect it contains several features:
- Optimized build.gradle to make upgrades and dependency management easier.
- Built in test wrappers for writing contract, flow and integration tests.
- Build in in-memory network driver for fast CorDapp testing.
- Build in KTor web server with configurations for 3x nodes.
- Run configurations to get everything working out of the box with IntelliJ
- Other things, I’ve neglected to mention…better check out the readme :)
One thing to note about the template (again, the heavy lifting is done) which means it could be the perfect basis for any cordapp you want to build! Feel free to use it as you see fit.
The ping sample is a workflow only CorDapp. It demonstrates the ability to send and receive simple messages across a Corda network using flows.
The obligation sample has a bit more going on. The master obligation CorDapp is very simple - akin to R3’s original IOU sample. I’ve deliberately kept master simple, because:
- It illustrates the core concepts in Corda (states, contracts and flows)
- It is the basis for understanding and performing upgrades in the labs/upgrades/* branches.
Cordacademy is a work in progress, and software is never "done" so please, play with it, hack it, find bugs, etc. Feel free to hit me up with any suggestions, criticisms, fixes, whatever you feel is worth mentioning. I’m hoping that Cordacademy will become a community driven initiative with people contributing their own samples as well. There’s a few thing in that capacity that need addressing (contribution guidelines, hall-of-fame, blogs, articles, etc…) but we’ll get there in time.
Sent with Shift
This message and any attachments are intended solely for the addressee and may contain confidential and privileged information. If you receive this message in error, or are not the intended recipient(s), please delete it and any copies from your systems and immediately notify the sender. In such a situation, please do not use, copy or disclose the information contained in this message or in any attachment.