2016-11-25 15:11:19 +00:00
|
|
|
Running a notary service
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
At present we have several prototype notary implementations:
|
|
|
|
|
|
|
|
1. ``SimpleNotaryService`` (single node) -- commits the provided transaction input states without any validation.
|
|
|
|
2. ``ValidatingNotaryService`` (single node) -- retrieves and validates the whole transaction history
|
|
|
|
(including the given transaction) before committing.
|
2017-10-01 22:33:15 +00:00
|
|
|
3. ``RaftNonValidatingNotaryService`` (distributed) -- functionally equivalent to ``SimpleNotaryService``, but stores
|
2016-11-25 15:11:19 +00:00
|
|
|
the committed states in a distributed collection replicated and persisted in a Raft cluster. For the consensus layer
|
2017-10-01 22:33:15 +00:00
|
|
|
we are using the `Copycat <http://atomix.io/copycat/>`_ framework
|
|
|
|
4. ``RaftValidatingNotaryService`` (distributed) -- as above, but performs validation on the transactions received
|
2016-11-25 15:11:19 +00:00
|
|
|
|
2017-10-05 11:27:45 +00:00
|
|
|
To have a node run a notary service, you need to set appropriate ``notary`` configuration before starting it
|
2016-11-29 11:36:42 +00:00
|
|
|
(see :doc:`corda-configuration-file` for reference).
|
2016-11-25 15:11:19 +00:00
|
|
|
|
2017-10-05 11:27:45 +00:00
|
|
|
For ``SimpleNotaryService`` the config is simply:
|
2016-11-25 15:11:19 +00:00
|
|
|
|
|
|
|
.. parsed-literal::
|
|
|
|
|
2017-10-05 11:27:45 +00:00
|
|
|
notary : { validating : false }
|
2016-11-25 15:11:19 +00:00
|
|
|
|
2017-01-06 11:05:37 +00:00
|
|
|
For ``ValidatingNotaryService``, it is:
|
2016-11-25 15:11:19 +00:00
|
|
|
|
|
|
|
.. parsed-literal::
|
|
|
|
|
2017-10-05 11:27:45 +00:00
|
|
|
notary : { validating : true }
|
2016-11-25 15:11:19 +00:00
|
|
|
|
2017-10-01 22:33:15 +00:00
|
|
|
Setting up a Raft notary is currently slightly more involved and is not recommended for prototyping purposes. There is
|
|
|
|
work in progress to simplify it. To see it in action, however, you can try out the :ref:`notary-demo`.
|
2017-11-07 18:31:50 +00:00
|
|
|
|
|
|
|
Use the `--bootstrap-raft-cluster` command line argument when starting the first node of a notary cluster for the first
|
|
|
|
time. When the flag is set, the node will act as a seed for the cluster that other members can join.
|