Skip to main content

Configure multiple private states

To use multi-tenancy, you must enable GoQuorum multiple private states (MPS).

To do this, set enableMultiplePrivateStates in the Tessera configuration file to true.

Enable MPS configuration
"features" : {
"enableMultiplePrivateStates" : "true"
}

Resident groups

When MPS is enabled, all keys configured must belong to a resident privacy group, or resident group. Specify residentGroups in the configuration file as shown in the following example.

Resident group configuration
  "residentGroups": [
{
"name": "PS1",
"members": ["publicKey1", "publicKey2"],
"description": "Private state 1"
},
{
"name": "PS2",
"members": ["publicKey3", "publicKey4"],
"description": "Private State 2"
}
]

Tessera loads the resident group configuration, performs the following validations during startup (when enableMultiplePrivateStates is set to true), and persists relevant data to its database:

  • All members of resident groups must be locally managed by the node.
  • A member can't be configured to belong to more than one resident group at any time (all history considered).
  • All keys configured must belong to a resident group and no key can be left out.
important

Tessera can't start with enableMultiplePrivateStates set to true AND an invalid resident group configuration.