Viktor Kolomeyko 15e87050c7
CORDA-1393: Make Explorer GUI recover on RPC connection loss. (#3093)
* CORDA-1393: Install `onError()` handler for folding action
or else `ErrorNotImplementedAction` will be invoked which is never a good thing

* CORDA-1335: Improve exception handling in `cleanUpOnConnectionLoss()`

* CORDA-1335: Try to trick the logic to pretend we are running in HA mode to have a chance of re-connecting.

* CORDA-1416: Make `NodeMonitorModel` code react to proxy changing.

* CORDA-1416: Workaround `CordaRPCOps.equals()` calls when listener dispatching change.

* CORDA-1416: Increase re-try interval to allow enough time for server to come back online.

* CORDA-1355: Properly close RPC connection we are moving away from.

* CORDA-1355: Unsubscribe on Error to prevent propagation of it downstream.

* CORDA-1355: For downstream subscribers ignore errors properly. Thanka to @exfalso for the hint.

This fixes: Transaction Updates do not flow after re-connect

* CORDA-1355: Bugfix eliminate duplicating items on "Transactions" blotter after re-connect.

* CORDA-1355: Bugfix eliminate double counting on dashboards.

* CORDA-1355: Bugfix eliminate same parties in dropdowns.

* CORDA-1355: Stop using `SecureHash.randomSHA256()` for painting widget icon.
Instead use combined SHA hash such that icon represents the whole population of trades.
That way two transactions blotters can be compared by a single glimpse at corresponding icons.

Also minor refactoring.

* CORDA-1416: Make RPC re-connection faster/more robust.

* CORDA-1416: Properly announce thet Proxy may not be available during re-connect and prevent UI crashing.

* CORDA-1416: Disable UI until RPC proxy is available.

* CORDA-1416: Correct typo.

* CORDA-1416: Unit test fix.

* CORDA-1416: GUI cosmetic changes.

* CORDA-1416: Correct spaces.

* CORDA-1416: Remove un-necessary overrides in CordaRPCOpsWrapper.

* CORDA-1416: Switch from using `doOnError` to installing an error handler upon subscription.
2018-05-10 15:20:41 +01:00
..

Node Explorer

The node explorer provides views of the node's vault and transaction data using Corda's RPC framework. The user can execute cash transaction commands to issue and move cash to other parties on the network or exit cash using the user interface.

Running the UI

Windows:

gradlew.bat tools:explorer:run

Other:

./gradlew tools:explorer:run

Running Demo Nodes

A demonstration Corda network topology is configured with 5 nodes playing the following roles:

  1. Notary
  2. Issuer nodes (representing two fictional central banks - UK Bank Plc issuer of GBP and USA Bank Corp issuer of USD)
  3. Participant nodes (representing two users - Alice and Bob)

The Issuer nodes have the ability to issue, move and exit cash amounts. The Participant nodes are only able to spend cash (eg. move cash).

Windows:

gradlew.bat tools:explorer:runDemoNodes

Other:

./gradlew tools:explorer:runDemoNodes

These Corda nodes will be created on the following port on localhost.

  • Notary -> 20005 (Does not accept logins)
  • UK Bank Plc -> 20011 (Issuer node)
  • USA Bank Corp -> 20008 (Issuer node)
  • Alice -> 20017
  • Bob -> 20014

Explorer login credentials to the Issuer nodes are defaulted to manager and test. Explorer login credentials to the Participants nodes are defaulted to user1 and test. Please note you are not allowed to login to the notary.

TODOs:

  • Shows more useful information in the dashboard.
  • Improve Network View, display other nodes in the world map and show transactions between them.
  • Add a new view showing node's state machines.
  • Link transaction input to its originated transaction to make it easier to trace back.
  • Shows Node information (Configuration, properties etc.) in Settings view.
  • Support other contract types.

More information can be found in the Project website and Documentation.