corda/docs/source/running-a-notary.rst

30 lines
1.4 KiB
ReStructuredText

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
(see :doc:`corda-configuration-file` for reference).
For ``SimpleNotaryService``, simply add the following service id to the list of advertised services:
.. parsed-literal::
extraAdvertisedServiceIds: "net.corda.notary.simple"
For ``ValidatingNotaryService``, it is:
.. parsed-literal::
extraAdvertisedServiceIds: "net.corda.notary.validating"
Setting up a ``RaftValidatingNotaryService`` 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`.