2016-04-18 17:44:21 +00:00
|
|
|
Running the demos
|
|
|
|
=================
|
|
|
|
|
|
|
|
The repository contains a small number of demo programs that run two-node networks, demonstrating functionality developed
|
|
|
|
so far. We have:
|
|
|
|
|
|
|
|
1. The trader demo, which shows a delivery-vs-payment atomic swap of commercial paper for cash. You can learn more about
|
|
|
|
how this works in :doc:`protocol-state-machines`.
|
|
|
|
2. The IRS demo, which shows two nodes establishing an interest rate swap between them and performing fixings with a
|
|
|
|
rates oracle, all driven via the HTTP API.
|
|
|
|
|
|
|
|
The demos create node data directories in the root of the project. If something goes wrong with them, blow away the
|
|
|
|
directories and try again.
|
|
|
|
|
2016-06-06 09:46:33 +00:00
|
|
|
.. note:: Corda is developed on MacOS and works best on UNIX systems. Both demos are easily run on Windows but
|
|
|
|
you won't get the nice coloured output.
|
2016-05-24 11:48:35 +00:00
|
|
|
|
2016-04-18 17:44:21 +00:00
|
|
|
Trader demo
|
|
|
|
-----------
|
|
|
|
|
2016-06-06 09:46:33 +00:00
|
|
|
Open two terminals, and in the first run:
|
2016-05-24 11:48:35 +00:00
|
|
|
|
2016-06-06 14:23:32 +00:00
|
|
|
.. note:: If you are planning to use non-default configuration you will need to run with --role=SetupA and --role=SetupB
|
|
|
|
beforehand with the same parameters you plan to supply to the respective nodes.
|
|
|
|
|
2016-06-06 09:46:33 +00:00
|
|
|
**Windows**::
|
2016-04-18 17:44:21 +00:00
|
|
|
|
2016-06-06 09:46:33 +00:00
|
|
|
gradlew.bat & .\build\install\r3prototyping\bin\trader-demo --role=BUYER
|
|
|
|
|
|
|
|
**Other**::
|
|
|
|
|
|
|
|
Other: ./gradlew installDist && ./build/install/r3prototyping/bin/trader-demo --role=BUYER
|
2016-04-18 17:44:21 +00:00
|
|
|
|
2016-05-16 17:06:55 +00:00
|
|
|
It will compile things, if necessary, then create a directory named trader-demo/buyer with a bunch of files inside and
|
|
|
|
start the node. You should see it waiting for a trade to begin.
|
2016-04-18 17:44:21 +00:00
|
|
|
|
2016-06-06 09:46:33 +00:00
|
|
|
In the second terminal, run:
|
|
|
|
|
|
|
|
**Windows**::
|
|
|
|
|
|
|
|
.\build\install\r3prototyping\bin\trader-demo --role=SELLER
|
|
|
|
|
|
|
|
**Other**::
|
2016-04-18 17:44:21 +00:00
|
|
|
|
2016-05-24 11:48:35 +00:00
|
|
|
./build/install/r3prototyping/bin/trader-demo --role=SELLER
|
2016-04-18 17:44:21 +00:00
|
|
|
|
|
|
|
You should see some log lines scroll past, and within a few seconds the messages "Purchase complete - we are a
|
|
|
|
happy customer!" and "Sale completed - we have a happy customer!" should be printed.
|
|
|
|
|
|
|
|
If it doesn't work, jump on the mailing list and let us know.
|
|
|
|
|
|
|
|
|
|
|
|
IRS demo
|
|
|
|
--------
|
|
|
|
|
2016-06-06 09:46:33 +00:00
|
|
|
Open three terminals. In the first run:
|
|
|
|
|
|
|
|
**Windows**::
|
2016-05-24 11:48:35 +00:00
|
|
|
|
2016-06-06 09:46:33 +00:00
|
|
|
gradlew.bat installDist & .\build\install\r3prototyping\bin\irsdemo.bat --role=NodeA
|
|
|
|
|
|
|
|
**Other**::
|
2016-04-18 17:44:21 +00:00
|
|
|
|
2016-06-06 11:30:59 +00:00
|
|
|
./gradlew installDist && ./build/install/r3prototyping/bin/irsdemo --role=NodeA
|
2016-04-18 17:44:21 +00:00
|
|
|
|
2016-06-06 09:46:33 +00:00
|
|
|
And in the second run:
|
|
|
|
|
|
|
|
**Windows**::
|
|
|
|
|
2016-06-06 11:30:59 +00:00
|
|
|
.\build\install\r3prototyping\bin\irsdemo.bat --role=NodeB
|
2016-06-06 09:46:33 +00:00
|
|
|
|
|
|
|
**Other**::
|
2016-04-18 17:44:21 +00:00
|
|
|
|
2016-06-01 17:49:24 +00:00
|
|
|
./build/install/r3prototyping/bin/irsdemo --role=NodeB
|
2016-04-18 17:44:21 +00:00
|
|
|
|
|
|
|
The node in the first terminal will complain that it didn't know about nodeB, so restart it. It'll then find the
|
|
|
|
location and identity keys of nodeA and be happy. NodeB also doubles up as the interest rates oracle and you should
|
|
|
|
see some rates data get loaded.
|
|
|
|
|
2016-06-06 09:46:33 +00:00
|
|
|
Now in the third terminal run:
|
|
|
|
|
|
|
|
**Windows**::
|
|
|
|
|
|
|
|
.\build\install\r3prototyping\bin\irsdemo.bat --role=Trade trade1
|
|
|
|
|
|
|
|
**Other**::
|
2016-04-18 17:44:21 +00:00
|
|
|
|
2016-06-01 17:49:24 +00:00
|
|
|
./build/install/r3prototyping/bin/irsdemo --role=Trade trade1
|
2016-04-18 17:44:21 +00:00
|
|
|
|
2016-05-24 11:48:35 +00:00
|
|
|
You should see some activity in the other two terminals as they set up the deal. You can now run this command in
|
|
|
|
a separate window to roll the fake clock forward and trigger lots of fixing events. Things go fast so make sure you
|
2016-06-06 09:46:33 +00:00
|
|
|
can see the other terminals whilst you run this command!:
|
|
|
|
|
|
|
|
**Windows**::
|
|
|
|
|
|
|
|
.\build\install\r3prototyping\bin\irsdemo.bat --role=Date 2017-01-30
|
|
|
|
|
|
|
|
**Other**::
|
2016-04-18 17:44:21 +00:00
|
|
|
|
2016-06-06 09:46:33 +00:00
|
|
|
./build/install/r3prototyping/bin/irsdemo --role=Date 2017-01-30
|