net.corda.node.services.transactions / RaftUniquenessProvider / <init>

# <init>

`RaftUniquenessProvider(storagePath: Path, myAddress: <ERROR CLASS>, clusterAddresses: List<<ERROR CLASS>>, db: <ERROR CLASS>, config: NodeSSLConfiguration)`

A uniqueness provider that records committed input states in a distributed collection replicated and persisted in a Raft cluster, using the Copycat framework (http://atomix.io/copycat/).

The uniqueness provider maintains both a Copycat cluster node (server) and a client through which it can submit requests to the cluster. In Copycat, a client request is first sent to the server its connected to and then redirected to the cluster leader to be actioned.

### Parameters

`storagePath` - Directory storing the Raft log and state machine snapshots
`myAddress` - Address of the Copycat node run by this Corda node
`clusterAddresses` - List of node addresses in the existing Copycat cluster. At least one active node must be provided to join the cluster. If empty, a new cluster will be bootstrapped.
`db` - The database to store the state machine state in
`config` - SSL configuration