net.corda.v5.membership

The corda-membership module defines interfaces that provide information about a member (a virtual node in a group), and a membership group. The interfaces in this module should not be implemented by CorDapp developers. Instead, instances can be retrieved through lookup services.

This module consists primarily of the following two root classes:

MemberInfo

The MemberInfo interface exposes properties of a virtual node’s membership. This includes the X.500 name, ledger keys, and status. This information is a combination of information provided during network registration and metadata assigned to the member by the network manager (MGM).

Information provided by the virtual node operator at time of registration is the content of the MemberContext and the information provided by the MGM is the source of the MGMContext content.

Instances of MemberInfo must be retrieved through a lookup API. MemberLookup from the corda-application module, is the lookup API which provides membership information to CorDapps. This can be used to lookup the information of the member executing a flow or other members available to transact with within the group.

The MemberInfo interface extends the LayeredPropertyMap interface, which means that membership information is key-value String pairs that are parsed and returned through properties. Generally, any properties required for use within a CorDapp are exposed through the MemberInfo interface. Other properties may only be relevant internally or at certain layers within the codebase so these are exposed through extension functions.

GroupParameters

The GroupParameters interface is also a type of LayerPropertyMap which exposes properties of the group as distributed by the network manager (MGM). These properties define the parameters under which all members must operate during transactions.

The current implementation is largely present purely for backwards compatibility in the ledger layer. This is why there is currently no API to expose these group parameters. This feature is to be implemented in the next stage of development, so it is not currently possible to interact with the parameters at this stage.

Was this page helpful?

Thanks for your feedback!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.

We're sorry this page wasn't helpful. Let us know how we can make it better!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Create an issue

Create a new GitHub issue in this repository - submit technical feedback, draw attention to a potential documentation bug, or share ideas for improvement and general feedback.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.