com.r3corda.node.services.transactions / NotaryService / <init>

# <init>

`NotaryService(smm: StateMachineManager, net: MessagingService, timestampChecker: TimestampChecker, uniquenessProvider: UniquenessProvider, networkMapCache: NetworkMapCache)`

A Notary service acts as the final signer of a transaction ensuring two things:

- The (optional) timestamp of the transaction is valid.

- None of the referenced input states have previously been consumed by a transaction signed by this Notary

A transaction has to be signed by a Notary to be considered valid (except for output-only transactions without a timestamp).

This is the base implementation that can be customised with specific Notary transaction commit protocol.