Welcome to the Java CorDapp template. The CorDapp template is a stubbed-out CorDapp that you can use to bootstrap your own CorDapps.
This is the Java version of the CorDapp template. The Kotlin equivalent is here.
See https://docs.corda.net/getting-set-up.html.
See https://docs.corda.net/tutorial-cordapp.html#running-the-example-cordapp.
When started via the command line, each node will display an interactive shell:
Welcome to the Corda interactive shell.
Useful commands include 'help' to see what is available, and 'bye' to shut down the node.
Tue Nov 06 11:58:13 GMT 2018>>>
You can use this shell to interact with your node. For example, enter run networkMapSnapshot
to see a list of
the other nodes on the network:
Tue Nov 06 11:58:13 GMT 2018>>> run networkMapSnapshot
[
{
"addresses" : [ "localhost:10002" ],
"legalIdentitiesAndCerts" : [ "O=Notary, L=London, C=GB" ],
"platformVersion" : 3,
"serial" : 1541505484825
},
{
"addresses" : [ "localhost:10005" ],
"legalIdentitiesAndCerts" : [ "O=PartyA, L=London, C=GB" ],
"platformVersion" : 3,
"serial" : 1541505382560
},
{
"addresses" : [ "localhost:10008" ],
"legalIdentitiesAndCerts" : [ "O=PartyB, L=New York, C=US" ],
"platformVersion" : 3,
"serial" : 1541505384742
}
]
Tue Nov 06 12:30:11 GMT 2018>>>
You can find out more about the node shell here.
clients/src/main/java/com/template/Client.java
defines a simple command-line client that connects to a node via RPC
and prints a list of the other nodes on the network.
Run the runTemplateClient
Gradle task. By default, it connects to the node with RPC address localhost:10006
with
the username user1
and the password test
.
Run the Run Template Client
run configuration. By default, it connects to the node with RPC address localhost:10006
with the username user1
and the password test
.
clients/src/main/java/com/template/webserver/
defines a simple Spring webserver that connects to a node via RPC and
allows you to interact with the node over HTTP.
The API endpoints are defined here:
clients/src/main/java/com/template/webserver/Controller.java
And a static webpage is defined here:
clients/src/main/resources/static/
Run the runTemplateServer
Gradle task. By default, it connects to the node with RPC address localhost:10006
with
the username user1
and the password test
, and serves the webserver on port localhost:10050
.
Run the Run Template Server
run configuration. By default, it connects to the node with RPC address localhost:10006
with the username user1
and the password test
, and serves the webserver on port localhost:10050
.
The static webpage is served on:
http://localhost:10050
While the sole template endpoint is served on:
http://localhost:10050/customendpoint
You should extend this template as follows:
- Add your own state and contract definitions under
cordapp-contracts-states/src/main/java/
- Add your own flow definitions under
cordapp/src/main/java/
- Extend or replace the client and webserver under
clients/src/main/java/
For a guided example of how to extend this template, see the Hello, World! tutorial here.