mirror of
https://github.com/corda/corda.git
synced 2024-12-20 21:43:14 +00:00
9166755954
* Add constants for the open source and samples repos branch names Open source branch name - `openSourceBranchName` Sample repos branch name - `openSourceSamplesBranchName` * Add base path constants to the open source and samples repos Fully replace base path to open source codebase - `openSourceBranch` Fully replace base path to open source samples - `openSourceSamplesBranch` These can be accessed in the docs using `os_branch` and `os_samples_branch` Correct usages in the docs to use these constants. * Correct links
51 lines
2.2 KiB
ReStructuredText
51 lines
2.2 KiB
ReStructuredText
Setting up a notary service
|
|
---------------------------
|
|
|
|
Corda comes with several notary implementations built-in:
|
|
|
|
1. **Single-node**: a simple notary service that persists notarisation requests in the node's database. It is easy to set up
|
|
and is recommended for testing, and production networks that do not have strict availability requirements.
|
|
2. **Crash fault-tolerant** *(experimental)*: a highly available notary service operated by a single party.
|
|
3. **Byzantine fault-tolerant** *(experimental)*: a decentralised highly available notary service operated by a group of parties.
|
|
|
|
Single-node
|
|
===========
|
|
|
|
To have a regular Corda node provide a notary service you simply need to set appropriate ``notary`` configuration values
|
|
before starting it:
|
|
|
|
.. parsed-literal::
|
|
|
|
notary : { validating : false }
|
|
|
|
For a validating notary service specify:
|
|
|
|
.. parsed-literal::
|
|
|
|
notary : { validating : true }
|
|
|
|
|
|
See :ref:`key_concepts_notaries_validation` for more details about validating versus non-validating notaries.
|
|
|
|
For clients to be able to use the notary service, its identity must be added to the network parameters. This will be
|
|
done automatically when creating the network, if using :doc:`network-bootstrapper`. See :doc:`corda-networks-index`
|
|
for more details.
|
|
|
|
Crash fault-tolerant (experimental)
|
|
===================================
|
|
|
|
Corda provides a prototype `Raft-based <http://atomix.io/>`_ highly available notary implementation. You can try it out on our
|
|
`notary demo <|os_branch|/samples/notary-demo>`_ page. Note that it has known limitations
|
|
and is not recommended for production use.
|
|
|
|
Byzantine fault-tolerant (experimental)
|
|
=======================================
|
|
|
|
A prototype BFT notary implementation based on `BFT-Smart <https://github.com/bft-smart/library>`_ is available. You can
|
|
try it out on our `notary demo <|os_branch|/samples/notary-demo>`_ page. Note that it
|
|
is still experimental and there is active work ongoing for a production ready solution. Additionally, BFT-Smart requires Java
|
|
serialization which is disabled by default in Corda due to security risks, and it will only work in dev mode where this can
|
|
be customised.
|
|
|
|
We do not recommend using it in any long-running test or production deployments.
|