Commit Graph

174 Commits

Author SHA1 Message Date
Chris Rankin
ab8bfec76f DemoBench now subscribes to updates for transaction and vault RPCs. (#571)
* Subscribe to updates for transaction and vault RPCs.
* Ensure we unsubscribe our observables at the end.
* Use Rx scheduler that can observe on FX application thread.
2017-04-24 17:59:51 +01:00
Shams Asari
b5e022f350 Introducing Platform Version and its use by the NMS for min version requirements for the network 2017-04-24 15:31:10 +01:00
Ross Nicoll
684d1089f0 Introduce full legal names for test parties
Use full names for test parties, ahead of complete X.500 name support.
2017-04-24 15:18:21 +01:00
Mike Hearn
2de5c0b218 DemoBench: open web page automatically once web server has started. 2017-04-24 15:52:22 +02:00
Mike Hearn
e139df7891 DemoBench: make launch web server button wider. 2017-04-24 15:52:22 +02:00
Mike Hearn
d3ed178e82 DemoBench: upgrade to latest TornadoFX to get combobox width fix, and launch web browser once web server has started. 2017-04-24 15:52:22 +02:00
Mike Hearn
691b622cf0 DemoBench: address review comments and fix refresh bug 2017-04-24 15:52:22 +02:00
Mike Hearn
2c6163ecb9 DemoBench: layout fixes and more visual tweaks 2017-04-24 15:52:22 +02:00
Mike Hearn
3f7f05a0d9 DemoBench: better autocomplete and flags for city list 2017-04-24 15:52:22 +02:00
Mike Hearn
a90b2ba839 DemoBench: UI improvements, part uno 2017-04-24 15:52:22 +02:00
Chris Rankin
941bc9be5b Rename installed application to "Corda DemoBench". (#547)
* CORDA-368: Install DemoBench as "Corda DemoBench".
* CORDA-368: Fix RPM packaging.
* CORDA-368: Update changelog and release notes for DemoBench's new installation name.
2017-04-19 10:39:32 +01:00
Ross Nicoll
d35bd74596 Standardise identities used in tests, demos, etc.
Standaridise the identity names of Alice, Bob and Charlie, notary, map service, etc. in order
to ensure consistency across the code base and reduce number of places that have to be changed
to introduce proper X.500 names.

Move Alice, Bob & Charlie identities into the utilities package so they can be used in demos
2017-04-12 11:40:48 +01:00
Mike Hearn
c097229935 Minor: run code cleanup inspections 2017-04-11 15:53:05 +02:00
Mike Hearn
4d6d4c167e Minor: auto-format of module: tools, verifier 2017-04-11 15:53:05 +02:00
Shams Asari
c17fe29a62 Converted FullNodeConfiguration into a data class and added ability to parse Configs into data classes 2017-04-07 17:54:03 +01:00
Chris Rankin
a9463ebf45 Tidy up a few rough edges for DemoBench. (#507)
* Install DemoBench as a systemwide application.
* This application's correct full name is "Corda DemoBench".
* Tidy up imports.
* Cordapps -> CorDapps
* Ensure application name is "Corda DemoBench" on MacOSX.
2017-04-05 13:13:59 +01:00
Chris Rankin
4829524244 Avoid errors if Corda / Explorer cannot be found at runtime. (#501)
* Avoid NPE if corda.jar cannot be found.
* Log an error if Node Explorer or WebServer fail to start.
* Display an error dialog if we cannot find corda.jar at start-up.
* Use official notUsed() function for unwanted Observables.
* Fix unit tests.
* Rename function to readErrorLines().
2017-04-04 17:25:37 +01:00
Chris Rankin
352da7e4c7 Add 'finance' module to Corda WebServer, for plugins to use. (#489)
* Add 'finance' module to Corda WebServer, for plugins to use.
* Fix wording of error message.
2017-04-03 17:06:30 +01:00
Chris Rankin
341e1acf2a Test webserver configuration too. (#485) 2017-03-31 13:51:30 +01:00
Clinton
fcdcb0bdcf Merge pull request #469 from corda/clint-reducebuildsize
Webserver no longer depends on node.
2017-03-31 11:54:13 +01:00
Chris Rankin
035857e992 Test configuring DB port number. (#475) 2017-03-31 11:12:47 +01:00
Clinton Alexander
da88a43e40 Moved webserver to root project. 2017-03-30 17:34:32 +01:00
Chris Rankin
f15a22d828 Replace kotlinx-support-jdk8 with kotlin-stdlib-jre8. (#463)
* Replace kotlinx-support-jdk8 with kotlin-stdlib-jre8.
* Add kotlinVersion to constants.properties.

* Remove unused variable.
2017-03-30 16:27:01 +01:00
Clinton Alexander
d4e0ab52fe Moved the webserver from being a subproject of node to a subproject of client. 2017-03-30 14:43:18 +01:00
Chris Rankin
ade9a7dba8 Filter zero bytes from CRaSH input stream. (#460)
* Work around JavaFX injecting 0 bytes into JediTerm's STDIN stream.

* Add (disabled) unit tests for running JediTerm in both Swing and JavaFX.

* Remove tests for running JediTerm under Swing and JavaFX.
2017-03-30 11:04:51 +01:00
Rick Parker
8ef1d767c9 Consolidate maven repositories (#445)
* Consolidate repositories into root build.gradle
2017-03-28 17:17:40 +01:00
Chris Rankin
045efbf074 Remove TERM_PROGRAM from environment because JediTerm does not emulate MacOSX. (#436) 2017-03-27 16:41:50 +01:00
Chris Rankin
cec4e20bc8 Refactor DemoBench's configuration classes (#429)
* Reuse User class from :node-api module.

* Test that DemoBench can understand the node's configuration file.

* Add return type to User.toMap().
2017-03-25 00:45:01 +00:00
Andras Slemmer
439ceba2a4 Merge remote-tracking branch 'open/master' 2017-03-24 14:03:53 +00:00
Chris Rankin
9348ec05e7 Use loggerFor() function from :core. (#418) 2017-03-23 16:32:30 +00:00
Chris Rankin
e1bfa6c655 CORDA-267: Set a default name of Notary for the first node. (#417) 2017-03-23 16:28:05 +00:00
Chris Rankin
852af27f38 Use platform version of Guava for DemoBench. (#406) 2017-03-23 13:04:31 +00:00
Chris Rankin
98266da41c Refactor CordaRPCClient into new :client:rpc Gradle module. (#405)
* CORDA-305: Refactor CordaRPCClient into :client:rpc module

* CORDA-305: Remove the Kotlin test framework from the artifacts.

* CORDA-305: Migrate serialisation whitelist into node-api module.

* CORDA-305: Clean up unused RPC observables.

* CORDA-305: Add :client:rpc module to documentation tasks.

* CORDA-305: Include :finance into :client:rpc for its serialisable classes.

* CORDA-305: Move test classes into the correct directory.

* CORDA-305: Migrate :finance dependency from :client:rpc into DemoBench.

* CORDA-305: Update wording of TODO about handling Observables.
2017-03-22 15:52:54 +00:00
Andras Slemmer
8665e92960 Merge remote-tracking branch 'open/master' 2017-03-22 14:01:05 +00:00
Chris Rankin
18c57cf951 Merge DemoBench into Corda. (#380)
* Add basic spec for the demobench tool.

* Initial commit: Creating new tabs whenever the "Add Node" button is pressed. These tabs currently contain the bash shell only.

* Refactor shutdown code, although AWT is still misbehaving.

* Remove duplicate libpty native objects.

* Add initial form for configuring new nodes.

* Update to Corda 0.8-SNAPSHOT

* Patch JediTerm to allow the application to shutdown cleanly.

* Write configuration parameters into node.conf, and then run corda.jar in its own directory.

* The first node now becomes the session's Network Map service used by all other nodes. Force nodes to be created one-by-one.

* Trim node name and nearest city values.

* Fix logging location of corda.jar

* legalName field can be val.

* Allow configuration of extra network services.

* Launch DB viewer for node.

* Small tidy-up.

* Allow services to be loaded as a resources as well as a file.

* Include native artifacts in distribution.

* Add cash and issuer services to DemoBench.

* Configure Node and DemoBench to use same version of H2 database.

* Implement launching "Node Explorer" for each node.

* Create a capsule for Node Explorer, and allow login via command line parameters to bypass login screen.

* Simplify Kotlin objects.

* Include issuer for CHF (Swiss Francs)

* Fix SLF4J logging.

* Display simple statistics about the node on each tab.

* Add new RPC operation getCashBalances() to Node.

* Ensure demobench is built after explorer:capsule.

* Grant permissions to the Node's user, and install BanfOfCorda plugin for cash issuers.

* Initial inclusion of Corda and BankOfCorda JARs in distribution.

* Fix DemoBench distribution target.

* Add SLF4J binding for Log4J 2.x

* First batch of code review changes.

* More changes from review.

* Remove ".exe" from Java executable path, because Windows doesn't need it.

* Remove superfluous lamba parameter names.

* Better usage of Paths vs File API.

* Simplify the configuration object.

* Ensure a DemoBench installation is relocatable.

* Ensure that Node Explorer can write into its working directory.

* Disable Node Explorer and Database Viewer buttons until the node has launched and is responding to RPC.

* Only allow the first node to run notary services. And validate port numbers more strongly.

* Force all chosen port numbers to be different.

* Initial javapackager task: currently builds RPMs.

* Ensure JavaPackager task finds custom resources on the classpath.

* Move demobench.log into the user's demobench directory.

* Upgrade to Logback 1.1.10

* Make the javapackage task "more gradle" and "less ant".

* Display "0" balance for a node which has no cash balances at all.

* CORPRIV-665: Ensure tab closes if the node exits.

* CORPRIV-665: Protect against NPE

* CORPRIV-665: Protect harder against NPE

* CORPRIV-665: Protect NodeTerminalView from being destroyed twice.

* Initial custom resource script for Windows bundle.

* Take java executable from JRE.

* Allow Node Explorer to be relaunched.

* CORPRIV-658: Add gradle parameter "packageType" for javapackage task.

* Replace R3 logo with Corda logo.

* CORPRIV-658: Add icon file for Windows installer.

* CORPRIV-658: Add BAT file to create unsigned DemoBench.exe.

* CORPRIV-659: Add icon file for DMG package.

* Improve packaging information.

* CORPRIV-660: Allow user to launch Web server for each node.

* Tidy up gradle usage.

* Document provenance of jediterm-terminal-2.5.jar.

* Use "safe" casting operator.

* CORPRIV-659: Add bin/java to minimal JRE.

* CORPRIV-659: Basic shell script to package DemoBench as DMG.

* Add utility function for creating SLF4J loggers, and close unused I/O streams from forked processes.

* Switch from Runtime.exec() to ProcessBuilder.

* CORPRIV-660: Display Web server's port number on launch button.

* CORPRIV-661: Allow profiles to be loaded into DemoBench.

* Upgrade to TornadoFX 1.6.2.

* CORPRIV-661: Implement saving profiles.

* CORPRIV-661: Refactor code for guaranteeing a .zip extension.

* CORRIV-658: Add icon for Windows installer.

* CORPRIV-659: Update installer script and icons for DMG.

* CORPRIV-659: Tweak post-image script for DMG.

* CORPRIV-658: I've wasted enough time on this - Windows rejects this BMP
as invalid, and I have no idea why!?

* CORPRIV-658: Add external manifest for DemoBench.exe that declares it incapable of native HiDPI support.

* CORPRIV-661: Ensure that we can rewrite saved profiles correctly.

* Fix terminal resizing.

* CORPRIV-659: Fix DMG installer.

* CORPRIV-659: Better validation for JAVA_HOME.

* Downgrade JDK requirement to 8u102, for consistency with capsules.

* Comment how JediTerm is not available via Maven.

* CORPRIV-658: Rename packaging script.

* CORPRIV-659: Renaming packaging script.

* Comment file copying vs file filtering during packaging.

* Fixes from code review.

* CORPRIV-661: Ensure that nodes loaded from a profile have the correct network map service.

* Break textfield definitions out into separate functions.

* Fixes from code review.

* Code review tweaks.

* More code review tweaks.

* Another simple code review tweak.

* Replace companion object with a BiPredicate lambda.

* CORPRIV-664: Implement saving/loading of Cordapps with profiles.

* CORPRIV-664: Refactor saving/loading plugins.

* CORPRIV-664: Add initial unit tests for model.

* CORPRIV-664: Add simple unit tests for NodeController.

* CORPRIV-664: Unit test enhancements, e.g. configure JUL properly.

* CORPRIV-664: Use Suite instead of abstract test class.

* CORPRIV-664: Allow Cordapps to be loaded when each Node is configured.

* CORPRIV-664: Document which checked Java exceptions are thrown.

* Write JavaPackager output into build/javapackage directory.

* CORPRIV-664: Document more checked Java exceptions.

* Refactor Web and Explorer classes into their own packages.

* Declare WebServer and Explorer constructors as "internal".

* Update packaging scripts: tell user where the installer is!

* CORPRIV-659: Set "system menu bar" property for MacOSX.

* CORPRIV-661: Use "*.profile" for profile files.

* Remove unnecessary <children/> elements, as they are defaults.

* Fix build breakage when on Windows.

* Tweaks for EXE packaging script.

* Change function to extension function.

* Merged in corpriv-702 (pull request #25)

CORPRIV-702: Sign the DMG with a 'Developer ID Application' certificate.

* CORPRIV-702: Sign the DMG with a 'Mac Developer' certificate.

* CORPRIV-702: Use "Developer ID Application" certificate instead. And now JavaPackager signs the application, which means that we only need to resign our embedded JVM.

* CORPRIV-702: Update comment better to explain why JRE must be resigned.

Approved-by: Mike Hearn

* Exclude old version of Javassist in favour of Hibernate's version from Node. (#320)

* Exclude old version of Javassist in favour of Hibernate's version.

* Comment why we are excluding javassist:javassist, and add TODO for when junit-quickcheck 0.8 is released.

* CORDA-265: Implement "ALL" permission for RPC users. (#306)

* CORDA-265: Implement "ALL" permission for RPC users. Users with this permission in node.conf can use any flow.

* CORDA-265: Ensure that we always close the RPC proxy object after each test.

* CORDA-265: Refactor construction of dummy RPC client into an abstract base class.

* CORDA-265: Document RPC "ALL" permission.

* CORDA-266: Update DemoBench to be compatible with 0.10-SNAPSHOT.

* CORDA-268: Reimplement to work on both JDK8 and JDK9 (for now).

* CORDA-268: Copy java from $JAVA_HOME/bin as this also works on JDK > 8.

* Code review fixes.

* Use SLF4J's version of the commons-logging bindings. Only include SLF4J's Log4J back-end for actual applications, e.g. Node. (#350)

* Update with SLF4J change.

* CORDA-266: Update to latest node.conf format.

* Upgrade to H2 1.4.194. (#389)

- Timezone related fixes.
- A Turkish case canonicalisation bug.
- Fixes for some scary threading related bugs.
2017-03-21 14:24:13 +00:00
Chris Rankin
c64ab4b7a5 Merged in demobench (pull request #23)
Saving & loading of Cordapps with DemoBench profiles.

* CORPRIV-664: Implement saving/loading of Cordapps with profiles.

* CORPRIV-664: Refactor saving/loading plugins.

* CORPRIV-664: Add initial unit tests for model.

* CORPRIV-664: Add simple unit tests for NodeController.

* CORPRIV-664: Unit test enhancements, e.g. configure JUL properly.

* CORPRIV-664: Use Suite instead of abstract test class.

* CORPRIV-664: Allow Cordapps to be loaded when each Node is configured.

* CORPRIV-664: Document which checked Java exceptions are thrown.

* Write JavaPackager output into build/javapackage directory.

* CORPRIV-664: Document more checked Java exceptions.

* Refactor Web and Explorer classes into their own packages.

* Declare WebServer and Explorer constructors as "internal".

* Update packaging scripts: tell user where the installer is!

* CORPRIV-659: Set "system menu bar" property for MacOSX.

* CORPRIV-661: Use "*.profile" for profile files.

* Remove unnecessary <children/> elements, as they are defaults.

* Fix build breakage when on Windows.

* Tweaks for EXE packaging script.

* Change function to extension function.

* Code review fixes.

Approved-by: Clinton Alexander
2017-03-13 13:31:38 +00:00
Chris Rankin
d394a30471 Merged in corpriv-702 (pull request #25)
CORPRIV-702: Sign the DMG with a 'Mac Developer' certificate.

* CORPRIV-702: Sign the DMG with a 'Mac Developer' certificate.

* CORPRIV-702: Use "Developer ID Application" certificate instead. And now JavaPackager signs the application, which means that we only need to resign our embedded JVM.

* CORPRIV-702: Update comment better to explain why JRE must be resigned.

Approved-by: Mike Hearn
2017-03-07 09:55:55 +00:00
Chris Rankin
c8ee88a2fb Replace companion object with a BiPredicate lambda. 2017-02-24 09:07:13 +00:00
Chris Rankin
34797c2735 More code review tweaks. 2017-02-23 17:42:19 +00:00
Chris Rankin
2664a2905c Code review tweaks. 2017-02-23 15:56:40 +00:00
Chris Rankin
396fc43f11 Fixes from code review. 2017-02-23 15:47:46 +00:00
Chris Rankin
a2bf7d4d84 Break textfield definitions out into separate functions. 2017-02-23 10:39:31 +00:00
Chris Rankin
5a13d0355d CORPRIV-661: Ensure that nodes loaded from a profile have the correct network map service. 2017-02-22 17:04:42 +00:00
Chris Rankin
963d015c4d Fixes from code review. 2017-02-22 16:30:25 +00:00
Chris Rankin
1a78ca240a Comment file copying vs file filtering during packaging. 2017-02-22 08:45:35 +00:00
Chris Rankin
9b2b3a31a0 Comment how JediTerm is not available via Maven. 2017-02-21 17:45:45 +00:00
Chris Rankin
f20cb1e74d Downgrade JDK requirement to 8u102, for consistency with capsules. 2017-02-21 16:43:58 +00:00
Chris Rankin
22d2244ce7 CORPRIV-659: Fix DMG installer. 2017-02-21 15:38:22 +00:00
Chris Rankin
faefae01e2 Fix terminal resizing. 2017-02-21 12:32:47 +00:00
Chris Rankin
d69d9c6fde CORPRIV-661: Ensure that we can rewrite saved profiles correctly. 2017-02-21 11:10:27 +00:00
Chris Rankin
8624537d34 CORPRIV-658: Add external manifest for DemoBench.exe that declares it incapable of native HiDPI support. 2017-02-21 10:40:32 +00:00
Chris Rankin
9023778b07 CORPRIV-658: I've wasted enough time on this - Windows rejects this BMP
as invalid, and I have no idea why!?
2017-02-21 09:40:06 +00:00
Chris Rankin
d3e46d97b9 CORPRIV-659: Tweak post-image script for DMG. 2017-02-20 21:49:06 +00:00
Chris Rankin
09d3fb423d CORPRIV-659: Update installer script and icons for DMG. 2017-02-20 17:52:17 +00:00
Chris Rankin
a695ff0140 CORRIV-658: Add icon for Windows installer. 2017-02-20 17:37:06 +00:00
Chris Rankin
31843bbac8 CORPRIV-661: Refactor code for guaranteeing a .zip extension. 2017-02-20 15:49:13 +00:00
Chris Rankin
0f73b68d39 CORPRIV-661: Implement saving profiles. 2017-02-20 15:25:02 +00:00
Chris Rankin
ddd8d6a513 Upgrade to TornadoFX 1.6.2. 2017-02-20 09:13:02 +00:00
Chris Rankin
38e57d6342 CORPRIV-661: Allow profiles to be loaded into DemoBench. 2017-02-14 17:14:54 +00:00
Chris Rankin
8621d47e09 CORPRIV-660: Display Web server's port number on launch button. 2017-02-13 15:13:47 +00:00
Chris Rankin
94747dcddf Switch from Runtime.exec() to ProcessBuilder. 2017-02-13 12:27:06 +00:00
Chris Rankin
166cbbf2e5 Add utility function for creating SLF4J loggers, and close unused I/O streams from forked processes. 2017-02-13 10:39:11 +00:00
Chris Rankin
4960a472ef CORPRIV-659: Add bin/java to minimal JRE. 2017-02-13 08:54:19 +00:00
Chris Rankin
3895d34080 Use "safe" casting operator. 2017-02-12 13:52:09 +00:00
Chris Rankin
e42613bffe Document provenance of jediterm-terminal-2.5.jar. 2017-02-11 23:39:26 +00:00
Chris Rankin
1187564835 Tidy up gradle usage. 2017-02-11 22:27:55 +00:00
Chris Rankin
28d7170aca CORPRIV-660: Allow user to launch Web server for each node. 2017-02-10 16:38:41 +00:00
Chris Rankin
6b86ee415b Improve packaging information. 2017-02-10 13:44:59 +00:00
Chris Rankin
0a1632a0d5 CORPRIV-659: Add icon file for DMG package. 2017-02-10 12:25:28 +00:00
Chris Rankin
ab744f4159 CORPRIV-658: Add icon file for Windows installer. 2017-02-10 10:38:19 +00:00
Chris Rankin
dd8c1997a2 Replace R3 logo with Corda logo. 2017-02-10 10:37:35 +00:00
Chris Rankin
2aeac0df91 CORPRIV-658: Add gradle parameter "packageType" for javapackage task. 2017-02-10 09:45:33 +00:00
Chris Rankin
d6514f7524 Allow Node Explorer to be relaunched. 2017-02-10 09:27:38 +00:00
Chris Rankin
e966812105 Take java executable from JRE. 2017-02-09 23:26:47 +00:00
Chris Rankin
38fb84a96b Initial custom resource script for Windows bundle. 2017-02-09 18:22:32 +00:00
Chris Rankin
975bba0295 CORPRIV-665: Protect NodeTerminalView from being destroyed twice. 2017-02-09 17:14:49 +00:00
Chris Rankin
ccfbfde830 CORPRIV-665: Protect harder against NPE 2017-02-09 17:11:26 +00:00
Chris Rankin
6fd9399b20 CORPRIV-665: Protect against NPE 2017-02-09 16:45:23 +00:00
Chris Rankin
b29235e7cd CORPRIV-665: Ensure tab closes if the node exits. 2017-02-09 15:02:53 +00:00
Chris Rankin
6ae8a4da83 Display "0" balance for a node which has no cash balances at all. 2017-02-09 11:40:32 +00:00
Chris Rankin
050b2f0151 Make the javapackage task "more gradle" and "less ant". 2017-02-09 01:03:12 +00:00
Chris Rankin
675fa6f2a0 Upgrade to Logback 1.1.10 2017-02-08 23:28:52 +00:00
Chris Rankin
f9ae8f7a19 Move demobench.log into the user's demobench directory. 2017-02-08 23:10:47 +00:00
Chris Rankin
8946ef830e Ensure JavaPackager task finds custom resources on the classpath. 2017-02-08 23:09:48 +00:00
Chris Rankin
8b77068eb0 Initial javapackager task: currently builds RPMs. 2017-02-08 16:40:06 +00:00
Chris Rankin
d3cdb2af67 Force all chosen port numbers to be different. 2017-02-08 14:24:13 +00:00
Chris Rankin
f95b743426 Only allow the first node to run notary services. And validate port numbers more strongly. 2017-02-08 14:04:23 +00:00
Chris Rankin
c734fbf8bb Disable Node Explorer and Database Viewer buttons until the node has launched and is responding to RPC. 2017-02-08 12:16:35 +00:00
Chris Rankin
37aa486bd7 Ensure that Node Explorer can write into its working directory. 2017-02-07 20:18:56 +00:00
Chris Rankin
006fd98a51 Ensure a DemoBench installation is relocatable. 2017-02-07 19:38:25 +00:00
Chris Rankin
d57f7cd557 Simplify the configuration object. 2017-02-07 10:48:01 +00:00
Chris Rankin
7ea2dbdd77 Better usage of Paths vs File API. 2017-02-06 18:13:58 +00:00
Chris Rankin
455cdba5d9 Remove superfluous lamba parameter names. 2017-02-06 17:44:12 +00:00
Chris Rankin
ba5f4add18 Remove ".exe" from Java executable path, because Windows doesn't need it. 2017-02-06 17:10:52 +00:00
Chris Rankin
4e7c12453c More changes from review. 2017-02-06 15:25:28 +00:00
Chris Rankin
62d911a478 First batch of code review changes. 2017-02-06 14:54:48 +00:00
Chris Rankin
297a7e6208 Add SLF4J binding for Log4J 2.x 2017-02-04 22:36:42 +00:00
Chris Rankin
8b5fe3bbf0 Fix DemoBench distribution target. 2017-02-04 16:23:51 +00:00
Chris Rankin
a0749e29ef Initial inclusion of Corda and BankOfCorda JARs in distribution. 2017-02-03 17:30:30 +00:00
Chris Rankin
534e8a01a2 Grant permissions to the Node's user, and install BanfOfCorda plugin for cash issuers. 2017-02-03 10:04:44 +00:00