corda/samples/bank-of-corda-demo
Shams Asari 5c53a91785 Overhaul of the Bank of Corda demo to fix two problems it had:
1. The runRPCCashIssue and runWebCashIssue gradle tasks didn't work because they were using the wrong ports
2. Notary lookup was failing because the lookup name didn't include the correct CN for the notary name (this slipped through when reverting the network parameters)

The ports change occurred in #1922 which was attempting the fix the runIssuer gradle task. This is actually a misleading and redundant task as all it does is start up the nodes, which is what the documented deployNodes already does. The ports runIssuer allocated to the nodes were different to the ones specified in deployNodes.

To make sure we have integration tests which closely match deployNodes, the BoC demo has been updated to make use of CordformDefinition. This keeps the node definitions in one place, removing the need to have disparate files in sync. runIssuer has been removed.
2017-11-29 14:48:05 +00:00
..
src Overhaul of the Bank of Corda demo to fix two problems it had: 2017-11-29 14:48:05 +00:00
build.gradle Overhaul of the Bank of Corda demo to fix two problems it had: 2017-11-29 14:48:05 +00:00
README.md Reflects V1.0 changes on Master re: internal samples and identity sync flow API. 2017-10-25 09:29:32 +01:00

Bank Of Corda demo

This demo brings up three nodes: a notary, a node acting as the Bank of Corda that accepts requests for issuance of some asset and a node acting as Big Corporation which requests issuance of an asset (cash in this example).

Upon receipt of a request the Bank of Corda node self-issues the asset and then transfers ownership to the requester after successful notarisation and recording of the issue transaction on the ledger.

.. note:: The Bank of Corda is somewhat like a "Bitcoin faucet" that dispenses free bitcoins to developers for testing and experimentation purposes.

To run from the command line in Unix:

  1. Run ./gradlew samples:bank-of-corda-demo:deployNodes to create a set of configs and installs under samples/bank-of-corda-demo/build/nodes
  2. Run ./samples/bank-of-corda-demo/build/nodes/runnodes to open up three new terminal tabs/windows with the three nodes
  3. Run ./gradlew samples:bank-of-corda-demo:runRPCCashIssue to trigger a cash issuance request
  4. Run ./gradlew samples:bank-of-corda-demo:runWebCashIssue to trigger another cash issuance request. Now look at your terminal tab/window to see the output of the demo

To run from the command line in Windows:

  1. Run gradlew samples:bank-of-corda-demo:deployNodes to create a set of configs and installs under samples\bank-of-corda-demo\build\nodes
  2. Run samples\bank-of-corda-demo\build\nodes\runnodes to open up three new terminal tabs/windows with the three nodes
  3. Run gradlew samples:bank-of-corda-demo:runRPCCashIssue to trigger a cash issuance request
  4. Run gradlew samples:bank-of-corda-demo:runWebCashIssue to trigger another cash issuance request. Now look at the your terminal tab/window to see the output of the demo

To verify that the Bank of Corda node is alive and running, navigate to the following URL: http://localhost:10007/api/bank/date

In the window you run the command you should see (in case of Web, RPC is similar):

  • Requesting Cash via Web ...
  • Successfully processed Cash Issue request

If you want to see flow activity enter in node's shell flow watch. It will display all state machines running currently on the node.

Launch the Explorer application to visualize the issuance and transfer of cash for each node:

``./gradlew tools:explorer:run`` (on Unix) or ``gradlew tools:explorer:run`` (on Windows)

Using the following login details:

  • For the Bank of Corda node: localhost / port 10006 / username bankUser / password test
  • For the Big Corporation node: localhost / port 10009 / username bigCorpUser / password test

See https://docs.corda.net/node-explorer.html for further details on usage.