com.r3corda.node.services.transactions / NotaryService

# NotaryService

`abstract class NotaryService : SingletonSerializeAsToken`

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 O 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.

### Constructors

<init> | `NotaryService(services: ServiceHubInternal)` A Notary service acts as the final signer of a transaction ensuring two things:

### Functions

createProtocol | `abstract fun createProtocol(otherParty: Party): Service` Implement a factory that specifies the transaction commit protocol for the notary service to use

### Inherited Functions

toToken | `open fun toToken(context: SerializeAsTokenContext): SerializationToken`

### Inheritors

SimpleNotaryService | `class SimpleNotaryService : NotaryService` A simple Notary service that does not perform transaction validation
ValidatingNotaryService | `class ValidatingNotaryService : NotaryService` A Notary service that validates the transaction chain of he submitted transaction before committing it