28852ce47d
* NOTICK: Corda 4.3-RC01 Created first release candidate of Corda 4.3 - RC01. * CORDA-3141: Add GracefulReconnect callbacks which allow logic to be performed when RPC disconnects unexpectedly (#5430) Also removed potential for growing stack trace on reconnects. * CORDA-2050 Upgrade Corda to Java 11 (compatibility mode) (#5356) Upgrade Corda to run with Java 11 (compatibility mode) - see https://github.com/corda/corda/pull/5356 * ENT-4198 Adding legal text Signed-off-by: Ed Prosser <edward.prosser@r3.com> * TM-29 new baseline for 4.3 since new debt has been added with the last few commits (#5487) * TM-23 compileAll task to compile all code (#5490) * Add simple compileAll task to be used by warning check * lazy configure compileAll * TM-32 Merge OS 4.3 into 4.4 * TM-32 fixed detekt issue * Downgrade Dokka back to 0.9.17 due to failing docs_builder. * add ability to group test types together (#5459) * add ability to group test types together * add ability to specify podCount for use in parallel testing * remove compiler xml * add Jenkinsfile to enable scanning * trigger build * add ability to specify what docker tag to use from outside of the build * fix docker work dir * fix pipeline syntax issues * use environment rather than `def` * move agent restrictor outside of stages block * use steps block * more pipeline syntax fixes * even more pipeline syntax fixes * even more pipeline syntax fixes * add kubenetize as property to image build * move clear of docker image to end of build rather than start to prevent colocated builds * escape dollar on docker image remove command * attempt to kill all existing jobs * fix compile issue due to killall_jobs * fix compile issue due to killall_jobs pt2 * fix spelling * make all variables environment variables * add logic to delete images locally after pushing * wrap testing phase with try / finally so that junit reports are always evaluated * change the behaviour around post build actions * break implicit link between testing phase and image building phase, allowing testing to occur without a rebuild and push of image * prepend registry name to provided tag * allow tasks to specify whether they wish to stream output from containers * add timestamps directive to Jenkinsfile to have timing info on output * make KubesTest resilient against transient pod failures in k8s * increase CPU request * add logic to allow specifying container resource requests * attempt to run unit and integration tests in parallel * change unit tests to use 3 cores to allow co-location on 8c machines * join grouped tests together to give pod meaningful name * add step to renew token with GKE * change renew step to use pods instead of nodes * fix bug where memory request is not correctly passed to pod * disable unit tests for now * [CORDA-2368] Added exception handling for missing files that displays appropriate messages rather than defaulting to file names. (#5472) * NOTIK Minor adjustments to Detekt rules to reflect current working practises (#5498) * Minor adjustments to rules to reflect current working practises (including IntelliJ code style alignment) * Adjust another rule in line with existing code style. * rebaseline with changed detekt ruleset * rebaseline with NodeStartup changes |
||
---|---|---|
.. | ||
libs | ||
package | ||
src | ||
build.gradle | ||
demobench-configure-bank.png | ||
demobench-dashboard.png | ||
demobench-initial.png | ||
demobench-notary.png | ||
demobench-save-profile.png | ||
package-demobench-dmg.sh | ||
package-demobench-exe.bat | ||
package-demobench-rpm.sh | ||
README.md |
DemoBench
DemoBench is a standalone desktop application that makes it easy to configure and launch local Corda nodes. Its general usage is documented here.
Running locally
MacOSX/Linux:
./gradlew tools:demobench:installDist
cd tools/demobench/build/install/demobench
bin/demobench
Windows:
gradlew tools:demobench:installDist
cd tools\demobench\build\install\demobench
and then
bin\demobench
or, if Windows complains that the command line is too long:
java -Djava.util.logging.config.class=net.corda.demobench.config.LoggingConfig -jar lib\demobench-$version.jar
Testing
The Notary Node
When launched, DemoBench will look something like this:
Clicking the Start node
button should launch a new Notary node.
The tab should display the correct national flag for the node's geographical
location. The View Database
, Launch Web Server
and Launch Explorer
buttons
will be disabled until the node has finished booting, at which point the node
statistics (States in vault
, Known transactions
and Balance
) will become
populated too.
The Corda node should boot into a shell with a command prompt. Type help
at
this command prompt to list the commands available, followed by dashboard
.
Press q
to exit the dashboard, and then check the tab's buttons:
- Press
View Database
to launch the H2 database's Web console in your browser. Pressing this button again should launch a second console session. - Press the
Launch Web Server
button to launch the Corda Webserver for this node. Once booted, it should open your browser to a page saying:
Installed CorDaps
No installed custom CorDapps
-
The button's text should now have changed to
Reopen web site
. Pressing the button again should open a new session in your browser. -
Press the
Launch Explorer
button to launch the Node Explorer for this notary. You should be logged into the Explorer automatically. TheLaunch Explorer
button should now remain disabled until you close this node's Explorer again.
The Bank Node
Click the Add Node
button, and DemoBench will ask you to configure another
node in a new tab. Choose Issuer GBP
as additional configuration.
When you type in the shell start CashConfigDataFlow
you should get the following result:
Flow completed with result: CashConfiguration(issuableCurrencies=[GBP], supportedCurrencies=[USD, GBP, CHF, EUR])
The CashIssueFlow
is enabled for the currencies listed in bank node's finance configuration file (corda-finance.conf
), in this instance it's GBP.
Launch the bank's Node Explorer, and check the network view. The Notary node should be displayed in Rome, whereas the Bank of Breakfast Tea should be in Liverpool.
Saving / Loading profiles
Choose File/Save As
from DemoBench's main menu.
Save the profile and then examine its contents (ZIP format). It should look something like:
Length Date Time Name
--------- ---------- ----- ----
0 05-25-2017 11:57 notary/
490 05-25-2017 11:57 notary/node.conf
0 05-25-2017 11:57 notary/plugins/
0 05-25-2017 11:57 bankofbreakfasttea/
673 05-25-2017 11:57 bankofbreakfasttea/node.conf
0 05-25-2017 11:57 bankofbreakfasttea/plugins/
--------- -------
1163 6 files
Now choose File/Open
from the main menu, and select the profile that you have
just saved. DemoBench should close the two existing tabs and then relaunch the
Notary and Bank nodes.
If you want to edit the content, please make sure that when zipping content back, the notary node is the first directory (ZIP files content is ordered)
Exiting DemoBench
Close DemoBench as a normal application on your platform; it should close any open Node Explorers before exiting.