mirror of
https://github.com/corda/corda.git
synced 2024-12-20 05:28:21 +00:00
Re-gen docsite
This commit is contained in:
parent
c2a10e8fae
commit
9a818247bb
1
docs/build/html/_sources/index.txt
vendored
1
docs/build/html/_sources/index.txt
vendored
@ -27,6 +27,7 @@ Read on to learn:
|
|||||||
getting-set-up
|
getting-set-up
|
||||||
data-model
|
data-model
|
||||||
messaging
|
messaging
|
||||||
|
running-the-trading-demo
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
3
docs/build/html/_sources/inthebox.txt
vendored
3
docs/build/html/_sources/inthebox.txt
vendored
@ -9,6 +9,9 @@ The current prototype consists of a small amount of code that defines:
|
|||||||
These are simplified versions of the real things.
|
These are simplified versions of the real things.
|
||||||
* Unit tests that check the algorithms do what is expected, and which verify the behaviour of the smart contracts.
|
* Unit tests that check the algorithms do what is expected, and which verify the behaviour of the smart contracts.
|
||||||
* API documentation and tutorials (what you're reading)
|
* API documentation and tutorials (what you're reading)
|
||||||
|
* A simple standalone node that uses an embedded message queue broker as its P2P messaging layer
|
||||||
|
* A trading demo that runs the node in either a listening/buying mode, or a connecting/selling mode, and swaps some
|
||||||
|
fake commercial paper assets for some self-issued IOU cash.
|
||||||
|
|
||||||
Some things it does not currently include but should gain later are:
|
Some things it does not currently include but should gain later are:
|
||||||
|
|
||||||
|
34
docs/build/html/_sources/running-the-trading-demo.txt
vendored
Normal file
34
docs/build/html/_sources/running-the-trading-demo.txt
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
Running the trading demo
|
||||||
|
========================
|
||||||
|
|
||||||
|
The repository contains a program that implements a demo of two nodes running the two-party trading protocol, which you
|
||||||
|
can learn about in :doc:`protocol-state-machines`.
|
||||||
|
|
||||||
|
The node has only currently been tested on MacOS X. If you have success on other platforms, please let us know.
|
||||||
|
|
||||||
|
To run the demo, firstly edit your /etc/hosts file or Windows equivalent to add two aliases for localhost: alpha and
|
||||||
|
beta. This is necessary for now because parts of the code use the DNS hostname to identify nodes and thus defining two
|
||||||
|
nodes both called localhost won't work. We might fix this in future to include the port number everywhere, so making
|
||||||
|
this easier.
|
||||||
|
|
||||||
|
You should now be able to run ``ping alpha`` and ``ping beta`` and not see errors.
|
||||||
|
|
||||||
|
Now, open two terminals, and in the first run:::
|
||||||
|
|
||||||
|
./gradlew runDemoBuyer
|
||||||
|
|
||||||
|
It will create a directory named "alpha" and ask you to edit the configuration file inside. Open up ``alpha/config``
|
||||||
|
in your favourite text editor and give the node a legal identity of "Alpha Corp, Inc" or whatever else you feel like.
|
||||||
|
The actual text string is not important. Now run the gradle command again, and it should start up and wait for
|
||||||
|
a seller to connect.
|
||||||
|
|
||||||
|
In the second terminal, run::
|
||||||
|
|
||||||
|
./gradlew runDemoSeller
|
||||||
|
|
||||||
|
and repeat the process, this time calling the node ... something else.
|
||||||
|
|
||||||
|
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.
|
2
docs/build/html/_sources/tutorial.txt
vendored
2
docs/build/html/_sources/tutorial.txt
vendored
@ -218,7 +218,7 @@ Let's define a few commands now:
|
|||||||
public static class Issue extends Commands {
|
public static class Issue extends Commands {
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object obj) {
|
||||||
return obj instanceof Redeem;
|
return obj instanceof Issue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
2
docs/build/html/_static/basic.css
vendored
2
docs/build/html/_static/basic.css
vendored
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Sphinx stylesheet -- basic theme.
|
* Sphinx stylesheet -- basic theme.
|
||||||
*
|
*
|
||||||
* :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS.
|
* :copyright: Copyright 2007-2015 by the Sphinx team, see AUTHORS.
|
||||||
* :license: BSD, see LICENSE for details.
|
* :license: BSD, see LICENSE for details.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
2
docs/build/html/_static/doctools.js
vendored
2
docs/build/html/_static/doctools.js
vendored
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* Sphinx JavaScript utilities for all documentation.
|
* Sphinx JavaScript utilities for all documentation.
|
||||||
*
|
*
|
||||||
* :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS.
|
* :copyright: Copyright 2007-2015 by the Sphinx team, see AUTHORS.
|
||||||
* :license: BSD, see LICENSE for details.
|
* :license: BSD, see LICENSE for details.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
2
docs/build/html/_static/pygments.css
vendored
2
docs/build/html/_static/pygments.css
vendored
@ -4,10 +4,8 @@
|
|||||||
.highlight .err { border: 1px solid #FF0000 } /* Error */
|
.highlight .err { border: 1px solid #FF0000 } /* Error */
|
||||||
.highlight .k { color: #007020; font-weight: bold } /* Keyword */
|
.highlight .k { color: #007020; font-weight: bold } /* Keyword */
|
||||||
.highlight .o { color: #666666 } /* Operator */
|
.highlight .o { color: #666666 } /* Operator */
|
||||||
.highlight .ch { color: #408090; font-style: italic } /* Comment.Hashbang */
|
|
||||||
.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */
|
.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */
|
||||||
.highlight .cp { color: #007020 } /* Comment.Preproc */
|
.highlight .cp { color: #007020 } /* Comment.Preproc */
|
||||||
.highlight .cpf { color: #408090; font-style: italic } /* Comment.PreprocFile */
|
|
||||||
.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */
|
.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */
|
||||||
.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
|
.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
|
||||||
.highlight .gd { color: #A00000 } /* Generic.Deleted */
|
.highlight .gd { color: #A00000 } /* Generic.Deleted */
|
||||||
|
47
docs/build/html/_static/searchtools.js
vendored
47
docs/build/html/_static/searchtools.js
vendored
@ -4,13 +4,12 @@
|
|||||||
*
|
*
|
||||||
* Sphinx JavaScript utilties for the full-text search.
|
* Sphinx JavaScript utilties for the full-text search.
|
||||||
*
|
*
|
||||||
* :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS.
|
* :copyright: Copyright 2007-2015 by the Sphinx team, see AUTHORS.
|
||||||
* :license: BSD, see LICENSE for details.
|
* :license: BSD, see LICENSE for details.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/* Non-minified version JS is _stemmer.js if file is provided */
|
|
||||||
/**
|
/**
|
||||||
* Porter Stemmer
|
* Porter Stemmer
|
||||||
*/
|
*/
|
||||||
@ -374,7 +373,8 @@ var Search = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// lookup as search terms in fulltext
|
// lookup as search terms in fulltext
|
||||||
results = results.concat(this.performTermsSearch(searchterms, excluded, terms, titleterms));
|
results = results.concat(this.performTermsSearch(searchterms, excluded, terms, Scorer.term))
|
||||||
|
.concat(this.performTermsSearch(searchterms, excluded, titleterms, Scorer.title));
|
||||||
|
|
||||||
// let the scorer override scores with a custom scoring function
|
// let the scorer override scores with a custom scoring function
|
||||||
if (Scorer.score) {
|
if (Scorer.score) {
|
||||||
@ -538,47 +538,23 @@ var Search = {
|
|||||||
/**
|
/**
|
||||||
* search for full-text terms in the index
|
* search for full-text terms in the index
|
||||||
*/
|
*/
|
||||||
performTermsSearch : function(searchterms, excluded, terms, titleterms) {
|
performTermsSearch : function(searchterms, excluded, terms, score) {
|
||||||
var filenames = this._index.filenames;
|
var filenames = this._index.filenames;
|
||||||
var titles = this._index.titles;
|
var titles = this._index.titles;
|
||||||
|
|
||||||
var i, j, file;
|
var i, j, file, files;
|
||||||
var fileMap = {};
|
var fileMap = {};
|
||||||
var scoreMap = {};
|
|
||||||
var results = [];
|
var results = [];
|
||||||
|
|
||||||
// perform the search on the required terms
|
// perform the search on the required terms
|
||||||
for (i = 0; i < searchterms.length; i++) {
|
for (i = 0; i < searchterms.length; i++) {
|
||||||
var word = searchterms[i];
|
var word = searchterms[i];
|
||||||
var files = [];
|
|
||||||
var _o = [
|
|
||||||
{files: terms[word], score: Scorer.term},
|
|
||||||
{files: titleterms[word], score: Scorer.title}
|
|
||||||
];
|
|
||||||
|
|
||||||
// no match but word was a required one
|
// no match but word was a required one
|
||||||
if ($u.every(_o, function(o){return o.files === undefined;})) {
|
if ((files = terms[word]) === undefined)
|
||||||
break;
|
break;
|
||||||
|
if (files.length === undefined) {
|
||||||
|
files = [files];
|
||||||
}
|
}
|
||||||
// found search word in contents
|
|
||||||
$u.each(_o, function(o) {
|
|
||||||
var _files = o.files;
|
|
||||||
if (_files === undefined)
|
|
||||||
return
|
|
||||||
|
|
||||||
if (_files.length === undefined)
|
|
||||||
_files = [_files];
|
|
||||||
files = files.concat(_files);
|
|
||||||
|
|
||||||
// set score for the word in each file to Scorer.term
|
|
||||||
for (j = 0; j < _files.length; j++) {
|
|
||||||
file = _files[j];
|
|
||||||
if (!(file in scoreMap))
|
|
||||||
scoreMap[file] = {}
|
|
||||||
scoreMap[file][word] = o.score;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// create the mapping
|
// create the mapping
|
||||||
for (j = 0; j < files.length; j++) {
|
for (j = 0; j < files.length; j++) {
|
||||||
file = files[j];
|
file = files[j];
|
||||||
@ -600,9 +576,7 @@ var Search = {
|
|||||||
// ensure that none of the excluded terms is in the search result
|
// ensure that none of the excluded terms is in the search result
|
||||||
for (i = 0; i < excluded.length; i++) {
|
for (i = 0; i < excluded.length; i++) {
|
||||||
if (terms[excluded[i]] == file ||
|
if (terms[excluded[i]] == file ||
|
||||||
titleterms[excluded[i]] == file ||
|
$u.contains(terms[excluded[i]] || [], file)) {
|
||||||
$u.contains(terms[excluded[i]] || [], file) ||
|
|
||||||
$u.contains(titleterms[excluded[i]] || [], file)) {
|
|
||||||
valid = false;
|
valid = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -610,9 +584,6 @@ var Search = {
|
|||||||
|
|
||||||
// if we have still a valid result we can add it to the result list
|
// if we have still a valid result we can add it to the result list
|
||||||
if (valid) {
|
if (valid) {
|
||||||
// select one (max) score for the file.
|
|
||||||
// for better ranking, we should calculate ranking by using words statistics like basic tf-idf...
|
|
||||||
var score = $u.max($u.map(fileMap[file], function(w){return scoreMap[file][w]}));
|
|
||||||
results.push([filenames[file], titles[file], '', null, score]);
|
results.push([filenames[file], titles[file], '', null, score]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
2
docs/build/html/_static/websupport.js
vendored
2
docs/build/html/_static/websupport.js
vendored
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* sphinx.websupport utilties for all documentation.
|
* sphinx.websupport utilties for all documentation.
|
||||||
*
|
*
|
||||||
* :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS.
|
* :copyright: Copyright 2007-2015 by the Sphinx team, see AUTHORS.
|
||||||
* :license: BSD, see LICENSE for details.
|
* :license: BSD, see LICENSE for details.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
1
docs/build/html/codestyle.html
vendored
1
docs/build/html/codestyle.html
vendored
@ -86,6 +86,7 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="getting-set-up.html">Getting set up</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="getting-set-up.html">Getting set up</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="data-model.html">Data model</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="data-model.html">Data model</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="messaging.html">Networking and messaging</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="messaging.html">Networking and messaging</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="running-the-trading-demo.html">Running the trading demo</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<p class="caption"><span class="caption-text">Tutorials</span></p>
|
<p class="caption"><span class="caption-text">Tutorials</span></p>
|
||||||
<ul>
|
<ul>
|
||||||
|
1
docs/build/html/genindex.html
vendored
1
docs/build/html/genindex.html
vendored
@ -86,6 +86,7 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="getting-set-up.html">Getting set up</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="getting-set-up.html">Getting set up</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="data-model.html">Data model</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="data-model.html">Data model</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="messaging.html">Networking and messaging</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="messaging.html">Networking and messaging</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="running-the-trading-demo.html">Running the trading demo</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<p class="caption"><span class="caption-text">Tutorials</span></p>
|
<p class="caption"><span class="caption-text">Tutorials</span></p>
|
||||||
<ul>
|
<ul>
|
||||||
|
2
docs/build/html/index.html
vendored
2
docs/build/html/index.html
vendored
@ -86,6 +86,7 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="getting-set-up.html">Getting set up</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="getting-set-up.html">Getting set up</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="data-model.html">Data model</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="data-model.html">Data model</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="messaging.html">Networking and messaging</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="messaging.html">Networking and messaging</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="running-the-trading-demo.html">Running the trading demo</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<p class="caption"><span class="caption-text">Tutorials</span></p>
|
<p class="caption"><span class="caption-text">Tutorials</span></p>
|
||||||
<ul>
|
<ul>
|
||||||
@ -181,6 +182,7 @@ prove or disprove the following hypothesis:</p>
|
|||||||
<li class="toctree-l2"><a class="reference internal" href="messaging.html#in-memory-implementation">In memory implementation</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="messaging.html#in-memory-implementation">In memory implementation</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="running-the-trading-demo.html">Running the trading demo</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="toctree-wrapper compound" id="tutorials">
|
<div class="toctree-wrapper compound" id="tutorials">
|
||||||
|
4
docs/build/html/inthebox.html
vendored
4
docs/build/html/inthebox.html
vendored
@ -91,6 +91,7 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="getting-set-up.html">Getting set up</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="getting-set-up.html">Getting set up</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="data-model.html">Data model</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="data-model.html">Data model</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="messaging.html">Networking and messaging</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="messaging.html">Networking and messaging</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="running-the-trading-demo.html">Running the trading demo</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<p class="caption"><span class="caption-text">Tutorials</span></p>
|
<p class="caption"><span class="caption-text">Tutorials</span></p>
|
||||||
<ul>
|
<ul>
|
||||||
@ -156,6 +157,9 @@
|
|||||||
These are simplified versions of the real things.</li>
|
These are simplified versions of the real things.</li>
|
||||||
<li>Unit tests that check the algorithms do what is expected, and which verify the behaviour of the smart contracts.</li>
|
<li>Unit tests that check the algorithms do what is expected, and which verify the behaviour of the smart contracts.</li>
|
||||||
<li>API documentation and tutorials (what you’re reading)</li>
|
<li>API documentation and tutorials (what you’re reading)</li>
|
||||||
|
<li>A simple standalone node that uses an embedded message queue broker as its P2P messaging layer</li>
|
||||||
|
<li>A trading demo that runs the node in either a listening/buying mode, or a connecting/selling mode, and swaps some
|
||||||
|
fake commercial paper assets for some self-issued IOU cash.</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>Some things it does not currently include but should gain later are:</p>
|
<p>Some things it does not currently include but should gain later are:</p>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
|
1
docs/build/html/protocol-state-machines.html
vendored
1
docs/build/html/protocol-state-machines.html
vendored
@ -87,6 +87,7 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="getting-set-up.html">Getting set up</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="getting-set-up.html">Getting set up</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="data-model.html">Data model</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="data-model.html">Data model</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="messaging.html">Networking and messaging</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="messaging.html">Networking and messaging</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="running-the-trading-demo.html">Running the trading demo</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<p class="caption"><span class="caption-text">Tutorials</span></p>
|
<p class="caption"><span class="caption-text">Tutorials</span></p>
|
||||||
<ul class="current">
|
<ul class="current">
|
||||||
|
242
docs/build/html/running-the-trading-demo.html
vendored
Normal file
242
docs/build/html/running-the-trading-demo.html
vendored
Normal file
@ -0,0 +1,242 @@
|
|||||||
|
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
||||||
|
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
|
||||||
|
<title>Running the trading demo — R3 Prototyping 0.1 documentation</title>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="_static/css/custom.css" type="text/css" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="top" title="R3 Prototyping 0.1 documentation" href="index.html"/>
|
||||||
|
<link rel="next" title="Writing a contract" href="tutorial.html"/>
|
||||||
|
<link rel="prev" title="Networking and messaging" href="messaging.html"/>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="_static/js/modernizr.min.js"></script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="wy-body-for-nav" role="document">
|
||||||
|
|
||||||
|
<div class="wy-grid-for-nav">
|
||||||
|
|
||||||
|
|
||||||
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
|
<div class="wy-side-scroll">
|
||||||
|
<div class="wy-side-nav-search">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="index.html" class="icon icon-home"> R3 Prototyping
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="version">
|
||||||
|
0.1
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div role="search">
|
||||||
|
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||||
|
<input type="text" name="q" placeholder="Search docs" />
|
||||||
|
<input type="hidden" name="check_keywords" value="yes" />
|
||||||
|
<input type="hidden" name="area" value="default" />
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p class="caption"><span class="caption-text">Overview</span></p>
|
||||||
|
<ul class="current">
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="inthebox.html">What’s included?</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="getting-set-up.html">Getting set up</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="data-model.html">Data model</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="messaging.html">Networking and messaging</a></li>
|
||||||
|
<li class="toctree-l1 current"><a class="current reference internal" href="">Running the trading demo</a></li>
|
||||||
|
</ul>
|
||||||
|
<p class="caption"><span class="caption-text">Tutorials</span></p>
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Writing a contract</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="protocol-state-machines.html">Protocol state machines</a></li>
|
||||||
|
</ul>
|
||||||
|
<p class="caption"><span class="caption-text">Appendix</span></p>
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="visualiser.html">Using the visualiser</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="roadmap.html">Roadmap</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="codestyle.html">Code style guide</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
||||||
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
|
<a href="index.html">R3 Prototyping</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="wy-nav-content">
|
||||||
|
<div class="rst-content">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||||
|
<ul class="wy-breadcrumbs">
|
||||||
|
<li><a href="index.html">Docs</a> »</li>
|
||||||
|
|
||||||
|
<li>Running the trading demo</li>
|
||||||
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
|
||||||
|
|
||||||
|
<a href="_sources/running-the-trading-demo.txt" rel="nofollow"> View page source</a>
|
||||||
|
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<hr/>
|
||||||
|
</div>
|
||||||
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
|
<div itemprop="articleBody">
|
||||||
|
|
||||||
|
<div class="section" id="running-the-trading-demo">
|
||||||
|
<h1>Running the trading demo<a class="headerlink" href="#running-the-trading-demo" title="Permalink to this headline">¶</a></h1>
|
||||||
|
<p>The repository contains a program that implements a demo of two nodes running the two-party trading protocol, which you
|
||||||
|
can learn about in <a class="reference internal" href="protocol-state-machines.html"><em>Protocol state machines</em></a>.</p>
|
||||||
|
<p>The node has only currently been tested on MacOS X. If you have success on other platforms, please let us know.</p>
|
||||||
|
<p>To run the demo, firstly edit your /etc/hosts file or Windows equivalent to add two aliases for localhost: alpha and
|
||||||
|
beta. This is necessary for now because parts of the code use the DNS hostname to identify nodes and thus defining two
|
||||||
|
nodes both called localhost won’t work. We might fix this in future to include the port number everywhere, so making
|
||||||
|
this easier.</p>
|
||||||
|
<p>You should now be able to run <code class="docutils literal"><span class="pre">ping</span> <span class="pre">alpha</span></code> and <code class="docutils literal"><span class="pre">ping</span> <span class="pre">beta</span></code> and not see errors.</p>
|
||||||
|
<p>Now, open two terminals, and in the first run::</p>
|
||||||
|
<div class="highlight-kotlin"><div class="highlight"><pre><span class="p">./</span><span class="n">gradlew</span> <span class="n">runDemoBuyer</span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<p>It will create a directory named “alpha” and ask you to edit the configuration file inside. Open up <code class="docutils literal"><span class="pre">alpha/config</span></code>
|
||||||
|
in your favourite text editor and give the node a legal identity of “Alpha Corp, Inc” or whatever else you feel like.
|
||||||
|
The actual text string is not important. Now run the gradle command again, and it should start up and wait for
|
||||||
|
a seller to connect.</p>
|
||||||
|
<p>In the second terminal, run:</p>
|
||||||
|
<div class="highlight-kotlin"><div class="highlight"><pre><span class="p">./</span><span class="n">gradlew</span> <span class="n">runDemoSeller</span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<p>and repeat the process, this time calling the node ... something else.</p>
|
||||||
|
<p>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.</p>
|
||||||
|
<p>If it doesn’t work, jump on the mailing list and let us know.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<footer>
|
||||||
|
|
||||||
|
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
||||||
|
|
||||||
|
<a href="tutorial.html" class="btn btn-neutral float-right" title="Writing a contract" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
|
||||||
|
|
||||||
|
|
||||||
|
<a href="messaging.html" class="btn btn-neutral" title="Networking and messaging" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<hr/>
|
||||||
|
|
||||||
|
<div role="contentinfo">
|
||||||
|
<p>
|
||||||
|
© Copyright 2015, R3 CEV.
|
||||||
|
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var DOCUMENTATION_OPTIONS = {
|
||||||
|
URL_ROOT:'./',
|
||||||
|
VERSION:'0.1',
|
||||||
|
COLLAPSE_INDEX:false,
|
||||||
|
FILE_SUFFIX:'.html',
|
||||||
|
HAS_SOURCE: true
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="_static/jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="_static/underscore.js"></script>
|
||||||
|
<script type="text/javascript" src="_static/doctools.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript" src="_static/js/theme.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
jQuery(function () {
|
||||||
|
SphinxRtdTheme.StickyNav.enable();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
1
docs/build/html/search.html
vendored
1
docs/build/html/search.html
vendored
@ -85,6 +85,7 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="getting-set-up.html">Getting set up</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="getting-set-up.html">Getting set up</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="data-model.html">Data model</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="data-model.html">Data model</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="messaging.html">Networking and messaging</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="messaging.html">Networking and messaging</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="running-the-trading-demo.html">Running the trading demo</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<p class="caption"><span class="caption-text">Tutorials</span></p>
|
<p class="caption"><span class="caption-text">Tutorials</span></p>
|
||||||
<ul>
|
<ul>
|
||||||
|
2
docs/build/html/searchindex.js
vendored
2
docs/build/html/searchindex.js
vendored
File diff suppressed because one or more lines are too long
11
docs/build/html/tutorial.html
vendored
11
docs/build/html/tutorial.html
vendored
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
<link rel="top" title="R3 Prototyping 0.1 documentation" href="index.html"/>
|
<link rel="top" title="R3 Prototyping 0.1 documentation" href="index.html"/>
|
||||||
<link rel="next" title="Protocol state machines" href="protocol-state-machines.html"/>
|
<link rel="next" title="Protocol state machines" href="protocol-state-machines.html"/>
|
||||||
<link rel="prev" title="Networking and messaging" href="messaging.html"/>
|
<link rel="prev" title="Running the trading demo" href="running-the-trading-demo.html"/>
|
||||||
|
|
||||||
|
|
||||||
<script src="_static/js/modernizr.min.js"></script>
|
<script src="_static/js/modernizr.min.js"></script>
|
||||||
@ -87,6 +87,7 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="getting-set-up.html">Getting set up</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="getting-set-up.html">Getting set up</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="data-model.html">Data model</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="data-model.html">Data model</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="messaging.html">Networking and messaging</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="messaging.html">Networking and messaging</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="running-the-trading-demo.html">Running the trading demo</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<p class="caption"><span class="caption-text">Tutorials</span></p>
|
<p class="caption"><span class="caption-text">Tutorials</span></p>
|
||||||
<ul class="current">
|
<ul class="current">
|
||||||
@ -203,7 +204,7 @@ piece of issued paper.</p>
|
|||||||
<h2>States<a class="headerlink" href="#states" title="Permalink to this headline">¶</a></h2>
|
<h2>States<a class="headerlink" href="#states" title="Permalink to this headline">¶</a></h2>
|
||||||
<p>A state is a class that stores data that is checked by the contract.</p>
|
<p>A state is a class that stores data that is checked by the contract.</p>
|
||||||
<div class="codeset container">
|
<div class="codeset container">
|
||||||
<div class="highlight-kotlin"><div class="highlight"><pre><span class="k">data</span> <span class="k">class</span> <span class="nc">State</span><span class="p">(</span>
|
<div class="highlight-kotlin"><div class="highlight"><pre><span class="n">data</span> <span class="k">class</span> <span class="nc">State</span><span class="p">(</span>
|
||||||
<span class="k">val</span> <span class="py">issuance</span><span class="p">:</span> <span class="n">InstitutionReference</span><span class="p">,</span>
|
<span class="k">val</span> <span class="py">issuance</span><span class="p">:</span> <span class="n">InstitutionReference</span><span class="p">,</span>
|
||||||
<span class="k">val</span> <span class="py">owner</span><span class="p">:</span> <span class="n">PublicKey</span><span class="p">,</span>
|
<span class="k">val</span> <span class="py">owner</span><span class="p">:</span> <span class="n">PublicKey</span><span class="p">,</span>
|
||||||
<span class="k">val</span> <span class="py">faceValue</span><span class="p">:</span> <span class="n">Amount</span><span class="p">,</span>
|
<span class="k">val</span> <span class="py">faceValue</span><span class="p">:</span> <span class="n">Amount</span><span class="p">,</span>
|
||||||
@ -317,7 +318,7 @@ checked, so from the contract code’s perspective, a command is simply a da
|
|||||||
public keys. Each key had a signature proving that the corresponding private key was used to sign.</p>
|
public keys. Each key had a signature proving that the corresponding private key was used to sign.</p>
|
||||||
<p>Let’s define a few commands now:</p>
|
<p>Let’s define a few commands now:</p>
|
||||||
<div class="codeset container">
|
<div class="codeset container">
|
||||||
<div class="highlight-kotlin"><div class="highlight"><pre><span class="k">interface</span> <span class="nc">Commands</span> <span class="p">:</span> <span class="n">Command</span> <span class="p">{</span>
|
<div class="highlight-kotlin"><div class="highlight"><pre><span class="n">interface</span> <span class="n">Commands</span> <span class="p">:</span> <span class="n">Command</span> <span class="p">{</span>
|
||||||
<span class="k">object</span> <span class="nc">Move</span> <span class="p">:</span> <span class="n">Commands</span>
|
<span class="k">object</span> <span class="nc">Move</span> <span class="p">:</span> <span class="n">Commands</span>
|
||||||
<span class="k">object</span> <span class="nc">Redeem</span> <span class="p">:</span> <span class="n">Commands</span>
|
<span class="k">object</span> <span class="nc">Redeem</span> <span class="p">:</span> <span class="n">Commands</span>
|
||||||
<span class="k">object</span> <span class="nc">Issue</span> <span class="p">:</span> <span class="n">Commands</span>
|
<span class="k">object</span> <span class="nc">Issue</span> <span class="p">:</span> <span class="n">Commands</span>
|
||||||
@ -342,7 +343,7 @@ public keys. Each key had a signature proving that the corresponding private key
|
|||||||
<span class="kd">public</span> <span class="kd">static</span> <span class="kd">class</span> <span class="nc">Issue</span> <span class="kd">extends</span> <span class="n">Commands</span> <span class="o">{</span>
|
<span class="kd">public</span> <span class="kd">static</span> <span class="kd">class</span> <span class="nc">Issue</span> <span class="kd">extends</span> <span class="n">Commands</span> <span class="o">{</span>
|
||||||
<span class="nd">@Override</span>
|
<span class="nd">@Override</span>
|
||||||
<span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">equals</span><span class="o">(</span><span class="n">Object</span> <span class="n">obj</span><span class="o">)</span> <span class="o">{</span>
|
<span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">equals</span><span class="o">(</span><span class="n">Object</span> <span class="n">obj</span><span class="o">)</span> <span class="o">{</span>
|
||||||
<span class="k">return</span> <span class="n">obj</span> <span class="k">instanceof</span> <span class="n">Redeem</span><span class="o">;</span>
|
<span class="k">return</span> <span class="n">obj</span> <span class="k">instanceof</span> <span class="n">Issue</span><span class="o">;</span>
|
||||||
<span class="o">}</span>
|
<span class="o">}</span>
|
||||||
<span class="o">}</span>
|
<span class="o">}</span>
|
||||||
<span class="o">}</span>
|
<span class="o">}</span>
|
||||||
@ -870,7 +871,7 @@ be implemented once in a separate contract, with the controlling data being held
|
|||||||
<a href="protocol-state-machines.html" class="btn btn-neutral float-right" title="Protocol state machines" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
|
<a href="protocol-state-machines.html" class="btn btn-neutral float-right" title="Protocol state machines" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
|
||||||
|
|
||||||
|
|
||||||
<a href="messaging.html" class="btn btn-neutral" title="Networking and messaging" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
|
<a href="running-the-trading-demo.html" class="btn btn-neutral" title="Running the trading demo" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user