Entregana is a DLT-based delivery management system.
See https://docs.corda.net/getting-set-up.html.
We recommend editing your IntelliJ preferences so that you use the Gradle runner - this means that the quasar utils
plugin will make sure that some flags (like -javaagent
- see below) are
set for you.
To switch to using the Gradle runner:
- Navigate to
Build, Execution, Deployment -> Build Tools -> Gradle -> Runner
(or search forrunner
)- Windows: this is in "Settings"
- MacOS: this is in "Preferences"
- Set "Delegate IDE build/run actions to gradle" to true
- Set "Run test using:" to "Gradle Test Runner"
If you would prefer to use the built in IntelliJ JUnit test runner, you can run gradlew installQuasar
which will
copy your quasar JAR file to the lib directory. You will then need to specify -javaagent:lib/quasar.jar
and set the run directory to the project root directory for each test.
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/kotlin/com/entregana/Client.kt
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 runEntreganaClient
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 Entregana 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/kotlin/com/entregana/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/kotlin/com/entregana/webserver/Controller.kt
And a static webpage is defined here:
clients/src/main/resources/static/
Run the runEntreganaServer
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 Entregana 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 entregana endpoint is served on:
http://localhost:10050/entreganaendpoint