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-02 09:11:33 +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-02 09:11:33 +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
|
|
|
|
|
|
|
To have a node run a notary service, you need to set appropriate configuration values 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
|
|
|
|
|
|
|
For ``SimpleNotaryService``, simply add the following service id to the list of advertised services:
|
|
|
|
|
|
|
|
.. parsed-literal::
|
|
|
|
|
2017-02-21 13:57:09 +00:00
|
|
|
extraAdvertisedServiceIds : [ "net.corda.notary.simple" ]
|
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-02-21 13:57:09 +00:00
|
|
|
extraAdvertisedServiceIds : [ "net.corda.notary.validating" ]
|
2016-11-25 15:11:19 +00:00
|
|
|
|
2017-10-02 09:11:33 +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`.
|