net.corda.core.crypto / Party

# Party

`data class Party`

The Party class represents an entity on the network, which is typically identified by a legal name and public key that it can sign transactions under. As parties may use multiple keys for signing and, for example, have offline backup keys, the "public key" of a party is represented by a composite construct – a PublicKeyTree, which combines multiple cryptographic public key primitives into a tree structure.

For example: Alice has two key pairs (pub1/priv1 and pub2/priv2), and wants to be able to sign transactions with either of them. Her advertised Party then has a legal name "Alice" and an owingKey "pub1 or pub2".

Party is also used for service identities. E.g. Alice may also be running an interest rate oracle on her Corda node, which requires a separate signing key (and an identifying name). Services can also be distributed – run by a coordinated cluster of Corda nodes. A Party representing a distributed service will have a public key tree composed of the individual cluster nodes public keys. Each of the nodes in the cluster will advertise the same group Party.

See Also

PublicKeyTree

### Constructors

<init> | `Party(name: String, owningKey: PublicKey)` A helper constructor that converts the given PublicKey in to a PublicKeyTree with a single node `Party(name: String, owningKey: PublicKeyTree)` The Party class represents an entity on the network, which is typically identified by a legal name and public key that it can sign transactions under. As parties may use multiple keys for signing and, for example, have offline backup keys, the "public key" of a party is represented by a composite construct – a PublicKeyTree, which combines multiple cryptographic public key primitives into a tree structure.

### Properties

name | `val name: String`
owningKey | `val owningKey: PublicKeyTree`

### Functions

ref | `fun ref(bytes: OpaqueBytes): PartyAndReference` `fun ref(vararg bytes: Byte): PartyAndReference`
toString | `fun toString(): String`