# Conflicts: # client/rpc/src/integration-test/kotlin/net/corda/client/rpc/BlacklistKotlinClosureTest.kt # client/rpc/src/integration-test/kotlin/net/corda/client/rpc/RPCStabilityTests.kt # core/src/test/java/net/corda/core/flows/FlowsInJavaTest.java # docs/source/changelog.rst # docs/source/corda-configuration-file.rst # docs/source/upgrade-notes.rst # finance/src/test/kotlin/net/corda/finance/contracts/CommercialPaperTests.kt # finance/src/test/kotlin/net/corda/finance/contracts/asset/CashTests.kt # gradle/wrapper/gradle-wrapper.properties # node-api/src/main/kotlin/net/corda/nodeapi/internal/KeyStoreConfigHelpers.kt # node-api/src/test/kotlin/net/corda/nodeapi/internal/serialization/SetsSerializationTest.kt # node/src/integration-test/kotlin/net/corda/node/AuthDBTests.kt # node/src/integration-test/kotlin/net/corda/node/BootTests.kt # node/src/integration-test/kotlin/net/corda/node/NodeKeystoreCheckTest.kt # node/src/integration-test/kotlin/net/corda/node/NodePerformanceTests.kt # node/src/integration-test/kotlin/net/corda/node/SSHServerTest.kt # node/src/integration-test/kotlin/net/corda/node/services/AttachmentLoadingTests.kt # node/src/integration-test/kotlin/net/corda/node/services/BFTNotaryServiceTests.kt # node/src/integration-test/kotlin/net/corda/node/services/RaftNotaryServiceTests.kt # node/src/integration-test/kotlin/net/corda/node/services/network/NetworkMapTest.kt # node/src/integration-test/kotlin/net/corda/node/services/network/PersistentNetworkMapCacheTest.kt # node/src/integration-test/kotlin/net/corda/node/services/statemachine/FlowVersioningTest.kt # node/src/integration-test/kotlin/net/corda/node/utilities/registration/NodeRegistrationTest.kt # node/src/integration-test/kotlin/net/corda/services/messaging/MQSecurityTest.kt # node/src/integration-test/kotlin/net/corda/services/messaging/P2PMessagingTest.kt # node/src/integration-test/kotlin/net/corda/test/node/NodeStatePersistenceTests.kt # node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt # node/src/main/kotlin/net/corda/node/services/config/NodeConfiguration.kt # node/src/main/resources/reference.conf # node/src/test/java/net/corda/node/services/vault/VaultQueryJavaTests.java # node/src/test/kotlin/net/corda/node/CordaRPCOpsImplTest.kt # node/src/test/kotlin/net/corda/node/services/config/NodeConfigurationImplTest.kt # node/src/test/kotlin/net/corda/node/services/network/NetworkMapCacheTest.kt # node/src/test/kotlin/net/corda/node/services/persistence/DBCheckpointStorageTests.kt # samples/attachment-demo/src/integration-test/kotlin/net/corda/attachmentdemo/AttachmentDemoTest.kt # samples/network-visualiser/src/main/kotlin/net/corda/netmap/NetworkMapVisualiser.kt # samples/notary-demo/src/main/kotlin/net/corda/notarydemo/RaftNotaryCordform.kt # samples/simm-valuation-demo/src/integration-test/kotlin/net/corda/vega/SimmValuationTest.kt # testing/node-driver/src/integration-test/kotlin/net/corda/testing/driver/DriverTests.kt # testing/node-driver/src/main/kotlin/net/corda/testing/node/InMemoryMessagingNetwork.kt # testing/node-driver/src/main/kotlin/net/corda/testing/node/MockNode.kt # testing/node-driver/src/main/kotlin/net/corda/testing/node/MockServices.kt # testing/node-driver/src/main/kotlin/net/corda/testing/node/NodeTestUtils.kt # testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/NodeBasedTest.kt # testing/smoke-test-utils/src/main/kotlin/net/corda/smoketesting/NodeProcess.kt # testing/test-utils/src/main/kotlin/net/corda/testing/internal/TestNodeInfoBuilder.kt # tools/explorer/src/main/kotlin/net/corda/explorer/ExplorerSimulation.kt # verifier/src/integration-test/kotlin/net/corda/verifier/VerifierTests.kt # webserver/src/integration-test/kotlin/net/corda/webserver/WebserverDriverTests.kt
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:
- Run
./gradlew samples:bank-of-corda-demo:deployNodes
to create a set of configs and installs undersamples/bank-of-corda-demo/build/nodes
- Run
./samples/bank-of-corda-demo/build/nodes/runnodes
to open up three new terminal tabs/windows with the three nodes - Run
./gradlew samples:bank-of-corda-demo:runRPCCashIssue
to trigger a cash issuance request - 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:
- Run
gradlew samples:bank-of-corda-demo:deployNodes
to create a set of configs and installs undersamples\bank-of-corda-demo\build\nodes
- Run
samples\bank-of-corda-demo\build\nodes\runnodes
to open up three new terminal tabs/windows with the three nodes - Run
gradlew samples:bank-of-corda-demo:runRPCCashIssue
to trigger a cash issuance request - 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.