We are pleased to announce the latest monthly Corda milestone release; M10! This milestoneÂ introduces the new DemoBench tool and an interactive shell within the node, as well as API improvements and other new features.
Upgrading is recommended in order to receive the latest features. The API changes are easy to migrate to. The largest change is an update to Kotlin 1.1 and Gradle 3.4.1. For this you will need the latest IntelliJÂ (2017.1) in order to compile against Corda and have correct IDE behaviour.
We have successfully delivered training to six cities on five continents over the last month with our London and New York sessions sold out with great feedback. We are pleased to announce that we are scaling up delivery of the training sessions in the coming months. Corda training courses are a great way to learn about the Corda platform and how to create your own CorDapps in an accelerated and focused two days of training.Â Sign up today at https://www.corda.net/corda-training.
- A new interactive Corda Shell has been added to the node. The shell lets developers and node administrators easily command the node by running flows, RPCs and SQL queries. It also provides a variety of commands to monitor the node. The Corda Shell is based on the popular CRaSH project and new commands can be easily added to the node by simply dropping Groovy or Java files into the node’s
shell-commandsdirectory. We have many enhancements planned over time including SSH access, more commands and better tab completion.
- The new “DemoBench” makes it easy to configure and launch local Corda nodes. It is a standalone desktop app that can be bundled with its own JRE and packaged as either EXE (Windows), DMG (MacOS) or RPM (Linux-based). DemoBench will be available for download here. It has the following features:
- New nodes can be added at the click of a button. Clicking “Add node” creates a new tab that lets you edit the most important configuration properties of the node before launch, such as its legal name and which CorDapps will be loaded.
- Each tab contains a terminal emulator, attached to the pseudoterminal of the node. This lets you see console output.
- You can launch an Corda Explorer instance for each node at the click of a button. Credentials are handed to the Corda Explorer so it starts out logged in already.
- Some basic statistics are shown about each node, informed via the RPC connection.
- Another button launches a database viewer in the system browser.
- The configurations of all running nodes can be saved into a single
.profilefile that can be reloaded later.
- Soft Locking is a new feature implemented in the vault to prevent a node constructing transactions that attempt to use the same input(s) simultaneously. Such transactions would result in naturally wasted effort when the notary rejects them as double spend attempts. Soft locks are automatically applied to coin selection (eg. cash spending) to ensure that no two transactions attempt to spend the same fungible states.
- The basic Amount API has been upgraded to have support for advanced financial use cases and to better integrate with currency reference data.
- We have added optional out-of-process transaction verification. Any number of external verifier processes may be attached to the node which can handle load balanced verification requests.
- We have also delivered the long waited Kotlin 1.1 upgrade in M10! The new features in Kotlin allow us to write even more clean and easy to manage code, which greatly increases our productivity.
- This release contains a large number of improvements, new features, library upgrades and bug fixes.