corda / net.corda.core.identity / Party

Party

class Party : Destination, AbstractParty

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 can be represented by a composite construct – a CompositeKey, 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 X.500 name "CN=Alice Corp,O=Alice Corp,L=London,C=GB" and an owningKey "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 use a composite key containing all individual cluster nodes' public keys. Each of the nodes in the cluster will advertise the same group Party.

Note that equality is based solely on the owning key.

Flow sessions

Communication with other parties is done using the flow framework with the FlowLogic.initiateFlow method. Message routing is done by using the network map to look up the connectivity details pertaining to the Party.

See Also

CompositeKey

Constructors

<init>

Party(certificate: X509Certificate)

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 can be represented by a composite construct – a CompositeKey, which combines multiple cryptographic public key primitives into a tree structure.

Party(name: CordaX500Name, owningKey: PublicKey)

Properties

name

val name: CordaX500Name

Functions

anonymise

fun anonymise(): AnonymousParty

description

fun description(): String

nameOrNull

fun nameOrNull(): CordaX500Name

ref

Build a reference to something being stored or issued by a party e.g. in a vault or (more likely) on their normal ledger.

fun ref(bytes: OpaqueBytes): PartyAndReference

toString

fun toString(): String

Companion Object Functions

create

Factory method to be used in preference to the constructor.

fun create(name: CordaX500Name, owningKey: PublicKey): Party
fun create(certificate: X509Certificate): Party