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 have only been tested on MacOS X and Ubuntu Linux. If you have success on other platforms, please let us know.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
Trader demo
|
|
|
|
-----------
|
|
|
|
|
|
|
|
Open two terminals, and in the first run:::
|
|
|
|
|
2016-05-19 10:37:49 +00:00
|
|
|
gradle installDist && ./build/install/r3prototyping/bin/trader-demo.sh --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
|
|
|
|
|
|
|
In the second terminal, run::
|
|
|
|
|
2016-05-19 10:37:49 +00:00
|
|
|
./build/install/r3prototyping/bin/trader-demo.sh --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.
|
|
|
|
|
2016-05-16 17:06:55 +00:00
|
|
|
On Windows, use the same commands, but run the batch file instead of the shell file.
|
|
|
|
|
2016-04-18 17:44:21 +00:00
|
|
|
|
|
|
|
IRS demo
|
|
|
|
--------
|
|
|
|
|
|
|
|
Open three terminals. In the first run:::
|
|
|
|
|
|
|
|
./scripts/irs-demo.sh nodeA
|
|
|
|
|
|
|
|
And in the second run:::
|
|
|
|
|
|
|
|
./scripts/irs-demo.sh nodeB
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
Now in the third terminal run:::
|
|
|
|
|
|
|
|
./scripts/irs-demo.sh trade trade1
|
|
|
|
|
|
|
|
You should see some activity in the other two terminals as they set up the deal. Further instructions will be printed
|
|
|
|
at this point showing how to advance the current date, so you can see them perform fixings and (eventually) complete
|
|
|
|
the deal.
|
|
|
|
|