1.6 KiB
Running a notary service
At present we have several notary implementations:
SimpleNotaryService
(single node) -- commits the provided transaction input states without any validation.ValidatingNotaryService
(single node) -- retrieves and validates the whole transaction history (including the given transaction) before committing.RaftNonValidatingNotaryService
(distributed) -- functionally equivalent toSimpleNotaryService
, 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 framework.RaftValidatingNotaryService
(distributed) -- as above, but performs validation on the transactions received.
To have a node run a notary service, you need to set appropriate notary
configuration before starting it (see corda-configuration-file
for reference).
For SimpleNotaryService
the config is simply:
notary : { validating : false }
For ValidatingNotaryService
, it is:
notary : { validating : true }
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 notary-demo
.
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.