corda/samples/bank-of-corda-demo
Schife 28852ce47d Razvan/merge 4.3 into 4.4 (#5494)
* 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
2019-09-20 14:10:15 +00:00
..
src/main Razvan/merge 4.3 into 4.4 (#5494) 2019-09-20 14:10:15 +00:00
build.gradle Razvan/merge 4.3 into 4.4 (#5494) 2019-09-20 14:10:15 +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.