An open API service indexing awesome lists of open source software.

https://github.com/mohdrashid/asset_transfer_corda

A simple CorDapp to transfer assets between parties in the presence of a validator
https://github.com/mohdrashid/asset_transfer_corda

cordapp cordapp-template dlt

Last synced: about 1 year ago
JSON representation

A simple CorDapp to transfer assets between parties in the presence of a validator

Awesome Lists containing this project

README

          

# CorDapp - Asset Transfer Use Case

# Pre-Requisites

See https://docs.corda.net/getting-set-up.html.

# Usage

## Running the nodes

See https://docs.corda.net/tutorial-cordapp.html#running-the-example-cordapp.

## Interacting with the nodes

### Shell

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](https://docs.corda.net/shell.html).

### Client

`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.

#### Running the client

##### Via the command line

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`.

##### Via IntelliJ

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`.

### Webserver

`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/

#### Running the webserver

##### Via the command line

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`.

##### Via IntelliJ

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`.

#### Interacting with the webserver

The static webpage is served on:

http://localhost:10050

While the sole template endpoint is served on:

http://localhost:10050/customendpoint