From 2ec18d322fb5c7f46f350e00c8f0c9271a095de8 Mon Sep 17 00:00:00 2001 From: Richard Green Date: Mon, 14 Nov 2016 18:12:39 +0000 Subject: [PATCH 1/3] Changes from a doc review that were omitted in first PR, also changes from corda=samples repo --- docs/source/further-notes-on-kotlin.rst | 4 +- docs/source/getting-set-up-fault-finding.rst | 32 ++++++--- docs/source/getting-set-up.rst | 2 - docs/source/index.rst | 2 +- ...ement.rst => initial-margin-agreement.rst} | 0 docs/source/resources/unlinked-gradle.png | Bin 0 -> 34969 bytes samples/simm-valuation-demo/README.md | 63 ++++++++++++++++++ 7 files changed, 89 insertions(+), 14 deletions(-) rename docs/source/{initialmarginagreement.rst => initial-margin-agreement.rst} (100%) create mode 100644 docs/source/resources/unlinked-gradle.png create mode 100644 samples/simm-valuation-demo/README.md diff --git a/docs/source/further-notes-on-kotlin.rst b/docs/source/further-notes-on-kotlin.rst index a52b6f8764..960857559a 100644 --- a/docs/source/further-notes-on-kotlin.rst +++ b/docs/source/further-notes-on-kotlin.rst @@ -6,8 +6,8 @@ Corda is written in a language called `Kotlin `_. Kotli and can be thought of as a simpler Scala, with much better Java interop. It is developed by and has commercial support from JetBrains, the makers of the IntelliJ IDE and other popular developer tools. -As Kotlin is relatively new language and is extremely easy to learn. It is designed as as better Java for industrial -use and as such, the syntax was carefully designed to be readable even to people who don't know the language, after only +Kotlin is a relatively new language and is extremely easy to learn. It is designed as as better Java for industrial +use and, as such, the syntax was carefully designed to be readable even to people who don't know the language, after only a few minutes of introduction. Additionally, at R3, we find that all of our developers are up to productive writing speed in Kotlin within their first week. diff --git a/docs/source/getting-set-up-fault-finding.rst b/docs/source/getting-set-up-fault-finding.rst index ff709578e1..316c477e4e 100644 --- a/docs/source/getting-set-up-fault-finding.rst +++ b/docs/source/getting-set-up-fault-finding.rst @@ -8,8 +8,8 @@ IntelliJ issues If IntelliJ complains about lack of an SDK ****************************************** -If on attempting to open the project (including importing Gradle project), IntelliJ refuses because SDK was not selected, -you may need to fix the project structure. Do this by following `these instructions`_. The correct JDK is often found at a path such as ``jdk1.8.0_xx…/Contents/Home`` +If on attempting to open the project (including importing Gradle project), IntelliJ refuses because an SDK was not selected, +you may need to fix the project structure. Do this by following `these instructions `_. The correct JDK is often found at a path such as ``jdk1.8.0_xx…/Contents/Home`` Ensure that you have the Project language level set at as 8. If you are having trouble selecting the correct JDK, the Jetbrains website offers the `following guidelines `_. @@ -22,7 +22,7 @@ Installation There are two ways to configure Kotlin from IntelliJ. One way is via the initial project opening screen in which you will need to use the ``Configure > Plugins`` tab. The other way is when you are in an open project, then you will need to -configure it via (on Mac) ``IntelliJ -> Preferences ...``, where on PC it is ``File -> Settings``. Select the plugins +configure it via (on Mac) ``IntelliJ -> Preferences ...``, whereas on PC it is ``File -> Settings``. Select the plugins bar, confirm that Kotlin is installed and up to date. If you are having trouble installing Kotlin, first try upgrading the Kotlin plugin. At the time of writing, you can @@ -32,6 +32,9 @@ confirm what is the latest version of the Kotlin plugin on `this page `_. +Gradle via the CLI +****************** + +Gradle commands can also be run in the command line - further details of command line gradle can be found in + +.. TODO: add gradle cmd line doc link here Doing it without IntelliJ ------------------------- If you don't want to explore or modify the code in a local IDE, you can also just use the command line and a text editor: -* First run ``git clone TODO:Corda_repo_name_here`` to download Corda source code. -* Next ensure that you are in r3repository ``cd r3repository`` // TODO - change to be correct location + +* First run ``git clone https://github.com/corda/corda`` to download Corda core source code + +* Next ensure that you are in correct directory ``cd corda`` + * Then you can run ``./gradlew test`` to run the unit tests. + * Finally remember to run ``git pull`` occasionally to upgrade the source code to the latest revision diff --git a/docs/source/getting-set-up.rst b/docs/source/getting-set-up.rst index 7c72eaa4ba..2c7d1ccc1d 100644 --- a/docs/source/getting-set-up.rst +++ b/docs/source/getting-set-up.rst @@ -43,7 +43,6 @@ git configuration are quite seemless although the first time you use it, you wil of your git command installation. More details regarding this can be found on the `JetBrains website `_ - Gradle ------ @@ -53,7 +52,6 @@ on the gradle tab (generally found on the right hand side), or by following the are performing (details expounded later). Whenever prompted about gradle, accept the defaults suggested by IntelliJ. - Corda Source Code ----------------- diff --git a/docs/source/index.rst b/docs/source/index.rst index 09557a2ed0..7ae4d32c69 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -30,7 +30,6 @@ Read on to learn: inthebox getting-set-up running-the-demos - initialmarginagreement .. toctree:: :maxdepth: 2 @@ -77,6 +76,7 @@ Read on to learn: network-simulator node-explorer + initial-margin-agreement .. toctree:: :maxdepth: 2 diff --git a/docs/source/initialmarginagreement.rst b/docs/source/initial-margin-agreement.rst similarity index 100% rename from docs/source/initialmarginagreement.rst rename to docs/source/initial-margin-agreement.rst diff --git a/docs/source/resources/unlinked-gradle.png b/docs/source/resources/unlinked-gradle.png new file mode 100644 index 0000000000000000000000000000000000000000..c4201bac01e97330c8d1abd5d286feb02a3e5645 GIT binary patch literal 34969 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 literal 0 HcmV?d00001 diff --git a/samples/simm-valuation-demo/README.md b/samples/simm-valuation-demo/README.md new file mode 100644 index 0000000000..8ae828889c --- /dev/null +++ b/samples/simm-valuation-demo/README.md @@ -0,0 +1,63 @@ +# Simm Valuation Demo + +## Introduction and Background + +See our documentation regarding the SIMM valuation and agreement on a distributed ledger + +.. TODO: main_doc_site_link + +This demo allows you to trade swaps - a type of financial product - with another counterparty. Once several swaps have been traded, the demo shows how a process can be run in order to generate what is known as the Standard Initial Margin. This is a payment made from one counterparty to the other so that in the event of a default (ie non payment of the overall value of the contract), the receiving counterparty has received sufficient cash to purchase replacement contracts in the market (hopefully preventing a domino effect associated with the global financial crisis of 2007 and 2008) + +This demo does not, however, include real SIMM valuation code but a stub for the OpenGamma set of libraries (see below), so please do not base any financial decisions on results generated by this demo. + +## Preparation / Building + +You will need to build the core corda component libraries and ensure they have been installed into your local maven repository. Do this by following the instructions if you haven't done this already. + +.. TODO: Link Instructions when finalised + +Once they are available, you will need to run (in the directory containing the samples repo) + + ./gradle deployNodes + + which will compile all of the demos in this project, create the web framework and generate test nodes for this demonstration + + +## Startup + +This demo is best run via the command line and a web browser, although it can be run via IntelliJ for debugging purposes. + +Change directory to `simm-valuation-demo/build/nodes` and execute the `runnodes` script. This will start three nodes - a notary node and two bank nodes. Wait until the message TODO: _when logging output changes completed_ appears and then all of the nodes will be ready for interaction + +## Interacting + +The demo shows a simple web front end with both a trade entry and a portfolio view. The simple portfolio view is filtered by the counterparty selected. + +Start by browsing [here](http://localhost:10005/web/simmvaluationdemo/) . This is the home page for Bank A (as determined in the top right corner). In the dropdown titled "Select a counterparty", choose the party you wish to transact with, in our case "Bank B". Click the "Create New Trade" function in the top menu bar. Choose any convention for the swap (the top one - EUR fixed 1Y EURIBOR 3M - works well). Feel free to amend any of the new deal parameters. Lastly, click the Submit bar to send your completed trade to the other counterparty. Once you are taken to the "view-trade" page, then that trade has been sent across the network to the other node, signed and sent back and then signed by your node, committing it to the Corda ledger. At this stage, you can optionally verify that the trade exists on the other node by visiting [Bank B's node](http://localhost:10007/web/simmvaluationdemo/). Additionally, you can confirm that these trades are not visible from [Bank C's node](http://localhost:10009/web/simmvaluationdemo/). + +Once the portfolio has some trades, you can start the valuation and agreement flow. Do this by clicking the "Agree Valuations" tab and then the "Start Calculations" button. The flow will execute and then the web page will demonstrate a simulation of the agreement as it proceeds. Eventually, the flow will complete with the Initial Margin figures being agreed by and then signed by both nodes. For more details on exactly what is happening here, please see the link in the Introduction and Background section. + +Please note that any url text after `simmvaluationdemo` should not be bookmarked or navigated directly to as they are only for aesthetics. + +### Shutting down + +The script to start the nodes has been written such that when you press a key in the window the script is running, the nodes will close down. + +## SIMM Library Licensing + +This demo was built in partnership with OpenGamma and used their SIMM library, however, due to licensing constraints we cannot distribute their library with this code. For this reason, we have stubbed out the relevant parts and replaced it with a very simplistic template that returns fake (but correctly structured) data. However, if you wish to use a realistic library, then please do get in touch with OpenGamma directly for access to their libraries and we will be happy to demonstrate how to replace the stub code. + + +## Troubleshooting + +| Error | Fix | +|-------|------ | +| Could not find net.corda.(...):(...):0.6-SNAPSHOT | The corda libraries have not been installed into your local maven directory. View the instructions for doing this in the core corda repository | +| Execution failed for task ':simm-valuation-demo:buildWeb' : A problem occurred starting process 'command 'ng'' | You need to have `node packet manager` installed in order to build out some of the web resources. This is not a necessary step as we include pre-built web resources but if you do modify the web source, you will need to rebuild this area | + +.. TODO: expand upon how the the web site is built + + + + + From e4f00825a4ece2517783c91a501a0a5c7b74682b Mon Sep 17 00:00:00 2001 From: Richard Green Date: Sun, 20 Nov 2016 12:12:20 +0000 Subject: [PATCH 2/3] From document review --- docs/source/further-notes-on-kotlin.rst | 2 +- docs/source/getting-set-up-fault-finding.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/further-notes-on-kotlin.rst b/docs/source/further-notes-on-kotlin.rst index 960857559a..94d691390e 100644 --- a/docs/source/further-notes-on-kotlin.rst +++ b/docs/source/further-notes-on-kotlin.rst @@ -6,7 +6,7 @@ Corda is written in a language called `Kotlin `_. Kotli and can be thought of as a simpler Scala, with much better Java interop. It is developed by and has commercial support from JetBrains, the makers of the IntelliJ IDE and other popular developer tools. -Kotlin is a relatively new language and is extremely easy to learn. It is designed as as better Java for industrial +Kotlin is a relatively new language and is extremely easy to learn. It is designed as a better Java for industrial use and, as such, the syntax was carefully designed to be readable even to people who don't know the language, after only a few minutes of introduction. Additionally, at R3, we find that all of our developers are up to productive writing speed in Kotlin within their first week. diff --git a/docs/source/getting-set-up-fault-finding.rst b/docs/source/getting-set-up-fault-finding.rst index 316c477e4e..282d6e6cb5 100644 --- a/docs/source/getting-set-up-fault-finding.rst +++ b/docs/source/getting-set-up-fault-finding.rst @@ -48,7 +48,7 @@ opened by clicking on "Event Log" at the bottom right of the IntelliJ window. Ei :width: 410 px :alt: IntelliJ Gradle Prompt -Wait for it to think and download the dependencies. After that you might have another popup titled "Unindexed remote maven repositories found." This is general IntelliJ question and doesn't affect Corda, therefore you can decided to index them or not. Next click on the "green arrow" next to "All tests" pop-up on the top toolbar. +Wait for it to think and download the dependencies. After that you might have another popup titled "Unindexed remote maven repositories found." This is a general IntelliJ question and doesn't affect Corda, therefore you can decided to index them or not. Next click on the "green arrow" next to "All tests" pop-up on the top toolbar. The code should build, the unit tests should show as all green. From d665347aa0d5253e698bdd048ebc504b1e80b334 Mon Sep 17 00:00:00 2001 From: Richard Green Date: Sun, 20 Nov 2016 12:13:09 +0000 Subject: [PATCH 3/3] From doc review --- samples/simm-valuation-demo/README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/samples/simm-valuation-demo/README.md b/samples/simm-valuation-demo/README.md index 8ae828889c..5ae825079f 100644 --- a/samples/simm-valuation-demo/README.md +++ b/samples/simm-valuation-demo/README.md @@ -1,4 +1,4 @@ -# Simm Valuation Demo +# SIMM Valuation Demo ## Introduction and Background @@ -12,7 +12,7 @@ This demo does not, however, include real SIMM valuation code but a stub for the ## Preparation / Building -You will need to build the core corda component libraries and ensure they have been installed into your local maven repository. Do this by following the instructions if you haven't done this already. +You will need to build the core Corda component libraries and ensure they have been installed into your local maven repository. Do this by following the instructions if you haven't done this already. .. TODO: Link Instructions when finalised @@ -27,7 +27,7 @@ Once they are available, you will need to run (in the directory containing the s This demo is best run via the command line and a web browser, although it can be run via IntelliJ for debugging purposes. -Change directory to `simm-valuation-demo/build/nodes` and execute the `runnodes` script. This will start three nodes - a notary node and two bank nodes. Wait until the message TODO: _when logging output changes completed_ appears and then all of the nodes will be ready for interaction +Change directory to `simm-valuation-demo/build/nodes` and execute the `runnodes` script. This will start four nodes - a notary node and three bank nodes. Wait until the message TODO: _when logging output changes completed_ appears and then all of the nodes will be ready for interaction. ## Interacting @@ -37,7 +37,7 @@ Start by browsing [here](http://localhost:10005/web/simmvaluationdemo/) . This i Once the portfolio has some trades, you can start the valuation and agreement flow. Do this by clicking the "Agree Valuations" tab and then the "Start Calculations" button. The flow will execute and then the web page will demonstrate a simulation of the agreement as it proceeds. Eventually, the flow will complete with the Initial Margin figures being agreed by and then signed by both nodes. For more details on exactly what is happening here, please see the link in the Introduction and Background section. -Please note that any url text after `simmvaluationdemo` should not be bookmarked or navigated directly to as they are only for aesthetics. +Please note that any URL text after `simmvaluationdemo` should not be bookmarked or navigated directly to as they are only for aesthetics. ### Shutting down @@ -45,7 +45,7 @@ The script to start the nodes has been written such that when you press a key in ## SIMM Library Licensing -This demo was built in partnership with OpenGamma and used their SIMM library, however, due to licensing constraints we cannot distribute their library with this code. For this reason, we have stubbed out the relevant parts and replaced it with a very simplistic template that returns fake (but correctly structured) data. However, if you wish to use a realistic library, then please do get in touch with OpenGamma directly for access to their libraries and we will be happy to demonstrate how to replace the stub code. +This demo was built in partnership with OpenGamma and used their SIMM library. However, due to licensing constraints we cannot distribute their library with this code. For this reason, we have stubbed out the relevant parts and replaced it with a very simplistic template that returns fake (but correctly structured) data. However, if you wish to use a realistic library, then please do get in touch with OpenGamma directly for access to their libraries and we will be happy to demonstrate how to replace the stub code. ## Troubleshooting