Regen docsite

This commit is contained in:
Mike Hearn
2016-11-18 13:57:39 +01:00
parent 1d9511f944
commit 648ab43e35
489 changed files with 4956 additions and 2537 deletions

View File

@ -106,7 +106,6 @@
<li class="toctree-l2"><a class="reference internal" href="#configuration-file-fields">Configuration File Fields</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="#rpc-users-file">RPC Users File</a></li>
</ul>
<p class="caption"><span class="caption-text">Tutorials</span></p>
<ul>
@ -114,7 +113,7 @@
<li class="toctree-l1"><a class="reference internal" href="tutorial-contract.html">Writing a contract</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial-contract-clauses.html">Writing a contract using clauses</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial-test-dsl.html">Writing a contract test</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial-clientrpc-api.html">Client RPC API</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial-clientrpc-api.html">Client RPC API Tutorial</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol-state-machines.html">Protocol state machines</a></li>
<li class="toctree-l1"><a class="reference internal" href="oracles.html">Writing oracle services</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial-attachments.html">Using attachments</a></li>
@ -132,6 +131,7 @@
</ul>
<p class="caption"><span class="caption-text">Appendix</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="loadtesting.html">Load testing</a></li>
<li class="toctree-l1"><a class="reference internal" href="secure-coding-guidelines.html">Secure coding guidelines</a></li>
<li class="toctree-l1"><a class="reference internal" href="release-process.html">Release process</a></li>
<li class="toctree-l1"><a class="reference internal" href="release-process.html#steps-to-cut-a-release">Steps to cut a release</a></li>
@ -191,7 +191,7 @@
<p>The Corda all-in-one <code class="docutils literal"><span class="pre">corda.jar</span></code> file is generated by the <code class="docutils literal"><span class="pre">gradle</span> <span class="pre">buildCordaJAR</span></code> task and defaults to reading configuration from a <code class="docutils literal"><span class="pre">node.conf</span></code> file in the present working directory.
This behaviour can be overidden using the <code class="docutils literal"><span class="pre">--config-file</span></code> command line option to target configuration files with different names, or different file location (relative paths are relative to the current working directory).
Also, the <code class="docutils literal"><span class="pre">--base-directory</span></code> command line option alters the Corda node workspace location and if specified a <code class="docutils literal"><span class="pre">node.conf</span></code> configuration file is then expected in the root of the workspace.</p>
<p>The configuration file templates used for the <code class="docutils literal"><span class="pre">gradle</span> <span class="pre">installTemplateNodes</span></code> task are to be found in the <code class="docutils literal"><span class="pre">/config/dev</span></code> folder. Also note that there is a basic set of defaults loaded from
<p>The configuration file templates used for the <code class="docutils literal"><span class="pre">gradle</span> <span class="pre">deployNodes</span></code> task are to be found in the <code class="docutils literal"><span class="pre">/config/dev</span></code> folder. Also note that there is a basic set of defaults loaded from
the built in resource file <code class="docutils literal"><span class="pre">/node/src/main/resources/reference.conf</span></code> of the <code class="docutils literal"><span class="pre">:node</span></code> gradle module. All properties in this can be overidden in the file configuration
and for rarely changed properties this defaulting allows the property to be excluded from the configuration file.</p>
</div>
@ -219,6 +219,9 @@ webAddress : &quot;localhost:31339&quot;
extraAdvertisedServiceIds: &quot;corda.interest_rates&quot;
networkMapAddress : &quot;localhost:12345&quot;
useHTTPS : false
rpcUsers : [
{ user=user1, password=letmein, permissions=[ cash ] }
]
</pre></div>
</div>
<p>NetworkMapService plus Simple Notary configuration file.</p>
@ -292,28 +295,31 @@ useHTTPS : false
<tr class="field-odd field"><td>&nbsp;</td><td class="field-body"><p class="first">If <cite>null</cite>, or missing the node is declaring itself as the NetworkMapService host. Otherwise the configuration value is the remote HostAndPort string for the ArtemisMQ service on the hosting node.</p>
</td>
</tr>
<tr class="field-even field"><th class="field-name">useHTTPS:</th><td class="field-body"><p class="first last">If false the node&#8217;s web server will be plain HTTP. If true the node will use the same certificate and private key from the <code class="docutils literal"><span class="pre">&lt;workspace&gt;/certificates/sslkeystore.jks</span></code> file as the ArtemisMQ port for HTTPS. If HTTPS is enabled then unencrypted HTTP traffic to the node&#8217;s <strong>webAddress</strong> port is not supported.</p>
<tr class="field-even field"><th class="field-name">useHTTPS:</th><td class="field-body"><p class="first">If false the node&#8217;s web server will be plain HTTP. If true the node will use the same certificate and private key from the <code class="docutils literal"><span class="pre">&lt;workspace&gt;/certificates/sslkeystore.jks</span></code> file as the ArtemisMQ port for HTTPS. If HTTPS is enabled then unencrypted HTTP traffic to the node&#8217;s <strong>webAddress</strong> port is not supported.</p>
</td>
</tr>
<tr class="field-odd field"><th class="field-name">rpcUsers:</th><td class="field-body"><p class="first">A list of users who are authorised to access the RPC system. Each user in the list is a config object with the
following fields:</p>
<blockquote>
<div><table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">user:</th><td class="field-body">Username consisting only of word characters (a-z, A-Z, 0-9 and _)</td>
</tr>
<tr class="field-even field"><th class="field-name">password:</th><td class="field-body">The password</td>
</tr>
<tr class="field-odd field"><th class="field-name">permissions:</th><td class="field-body">A list of permission strings which RPC methods can use to control access</td>
</tr>
</tbody>
</table>
</div></blockquote>
<p class="last">If this field is absent or an empty list then RPC is effectively locked down.</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="section" id="rpc-users-file">
<h1>RPC Users File<a class="headerlink" href="#rpc-users-file" title="Permalink to this headline"></a></h1>
<p>Corda also uses the <code class="docutils literal"><span class="pre">rpc-users.properties</span></code> file, found in the base directory, to control access to the RPC subsystem.
This is a Java properties file (details can be found in the <a class="reference external" href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html#load-java.io.Reader-">Javadocs</a>)
which specifies a list of users with their password and list of permissions they&#8217;re enabled for.</p>
<div class="literal-block-wrapper container" id="sample">
<div class="code-block-caption"><span class="caption-text">Sample</span><a class="headerlink" href="#sample" title="Permalink to this code"></a></div>
<div class="highlight-text"><div class="highlight"><pre><span></span>admin=notsecure,ADMIN
user1=letmein,CASH,PAPER
</pre></div>
</div>
</div>
<p>In this example <code class="docutils literal"><span class="pre">user1</span></code> has password <code class="docutils literal"><span class="pre">letmein</span></code> and has permissions for <code class="docutils literal"><span class="pre">CASH</span></code> and <code class="docutils literal"><span class="pre">PAPER</span></code>. The permissions are
free-form strings which can be used by the RPC methods to control access.</p>
<p>If <code class="docutils literal"><span class="pre">rpc-users.properties</span></code> is empty or doesn&#8217;t exist then the RPC subsystem is effectively locked down.</p>
</div>