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.
|
|
|
|
3. ``RaftValidatingNotaryService`` (distributed) -- functionally equivalent to ``ValidatingNotaryService``, but stores
|
|
|
|
the committed states in a distributed collection replicated and persisted in a Raft cluster. For the consensus layer
|
|
|
|
we are using the `Copycat <http://atomix.io/copycat/>`_ framework.
|
|
|
|
|
|
|
|
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::
|
|
|
|
|
|
|
|
extraAdvertisedServiceIds: "net.corda.notary.simple"
|
|
|
|
|
2017-01-06 11:05:37 +00:00
|
|
|
For ``ValidatingNotaryService``, it is:
|
2016-11-25 15:11:19 +00:00
|
|
|
|
|
|
|
.. parsed-literal::
|
|
|
|
|
|
|
|
extraAdvertisedServiceIds: "net.corda.notary.validating"
|
|
|
|
|
|
|
|
Setting up a ``RaftValidatingNotaryService`` is currently slightly more involved and is not recommended for prototyping
|
2017-01-18 12:42:22 +00:00
|
|
|
purposes. There is work in progress to simplify it. To see it in action, however, you can try out the :ref:`notary-demo`.
|