corda / net.corda.node.services.transactions / BFTSmartUniquenessProvider

# BFTSmartUniquenessProvider

`class BFTSmartUniquenessProvider : UniquenessProvider`

A UniquenessProvider based on the bft-smart library.

Experimental, not ready for production yet.

A BFTSmartUniquenessProvider starts a BFTSmartServer that joins the notary cluster and stores committed input states and a BFTSmartClient to commit states to the notary cluster.

### Parameters

`clusterAddresses` - the addresses of all BFTSmartUniquenessProviders of the notary cluster

`myAddress` - the address of this uniqueness provider, must be listed in clusterAddresses

### Constructors

<init> | `BFTSmartUniquenessProvider(myAddress: HostAndPort, clusterAddresses: List<HostAndPort>, db: Database)` A UniquenessProvider based on the bft-smart library.

### Properties

clusterAddresses | `val clusterAddresses: List<HostAndPort>`
db | `val db: Database`
myAddress | `val myAddress: HostAndPort`

### Functions

commit | `fun commit(states: List<StateRef>, txId: SecureHash, callerIdentity: Party): Unit` Throws UniquenessException if conflict is detected