corda/docs/source/demobench.rst
Chris Rankin 0bbc330a04 CORDA-307: Initial DemoBench documentation. (#408)
* CORDA-307: Initial DemoBench documentation.
* CORDA-307: Update with review comments.
* CORDA-307: Update local installation instructions and download site.
* CORDA-307: Remove download link because it's not ready yet.
* CORDA-307: Mention that the node.conf files within the profiles can be edited by the user.
* CORDA-307: Add DemoBench section to the appendix.
2017-03-31 14:16:32 +01:00

4.0 KiB

DemoBench

DemoBench is a standalone desktop application that makes it easy to configure and launch local Corda nodes. It is useful for training sessions, demos or just experimentation.

Downloading

Installers compatible with the latest Corda release will soon be downloadable from the R3 website.

Running DemoBench

Configuring a Node

Each node must have a unique name to identify it to the network map service. DemoBench will also suggest local port numbers to use.

The first node will host the network map service, and therefore must be a notary. Hence only notary services will be available to be selected in the Services list. For subsequent nodes you may also select any of Corda's other built-in services.

Note

Press Ctrl/Cmd and then click with the mouse to select multiple services, and also to deselect a service again.

Running Nodes

DemoBench launches each new node in a terminal emulator. The View Database, Launch Explorer and Launch WebServer buttons will all be disabled until the node has finished booting. DemoBench will then display simple statistics about the node such as its cash balance.

Warning

After switching tabs, it may currently be necessary to click on the new tab panel before its contents update correctly. This is a BUG and we're working on it.

Exiting DemoBench

When you terminate DemoBench, it will automatically shut down any nodes and explorers that it has launched and then exit.

Profiles

You can save all of DemoBench's currently running nodes into a profile, which is a ZIP file with the following layout, e.g.:

notary/

node.conf plugins/

banka/

node.conf plugins/

bankb/

node.conf plugins/ example-cordapp.jar

...

Building the Installers

There are three scripts in the tools/demobench directory:

  1. package-demobench-exe.bat (Windows)
  2. package-demobench-dmg.sh (MacOS)
  3. package-demobench-rpm.sh (Fedora/Linux)

Each script can only be run on its target platform, and each expects the platform's installation tools already to be available.

  1. Windows: Inno Setup 5+
  2. MacOS: The packaging tools should be available automatically. The DMG contents will also be signed if the packager finds a valid Developer ID Application certificate on the keyring. You can create such a certificate by generating a Certificate Signing Request and then asking your local "Apple team agent" to upload it to the Apple Developer portal. (See here.)
  3. Fedora/Linux: rpm-build packages.

You will also need to define the environment variable JAVA_HOME to point to the same JDK that you use to run Gradle. The installer will be written to the tools/demobench/build/javapackage/bundles directory, and can be installed like any other application for your platform.

Developer Notes

Developers wishing to run DemoBench without building a new installer each time can install it locally using Gradle:

$ gradlew tools:demobench:installDist $ cd tools/demobench/build/install/demobench $ bin/demobench

Unfortunately, DemoBench's $CLASSPATH may be too long for the Windows shell . In which case you can still run DemoBench as follows:

> java -Djava.util.logging.config.class=net.corda.demobench.config.LoggingConfig -jar lib/demobench-$version.jar