corda / net.corda.core.node / ServicesForResolution


@DoNotImplement interface ServicesForResolution

Subset of node services that are used for loading transactions from the wire into fully resolved, looked up forms ready for verification.



abstract val attachments: AttachmentStorage

Provides access to storage of arbitrary JAR files (which may contain only data, no code).


abstract val cordappProvider: CordappProvider

Provides access to anything relating to cordapps including contract attachment resolution and app context


abstract val identityService: IdentityService

An identity service maintains a directory of parties by their associated distinguished name/public keys and thus supports lookup of a party given its key, or name. The service also manages the certificates linking confidential identities back to the well known identity (i.e. the identity in the network map) of a party.


abstract val networkParameters: NetworkParameters

Returns the network parameters the node is operating under.


abstract val networkParametersService: NetworkParametersService

Provides access to historical network parameters that are used in transaction resolution.



abstract fun loadContractAttachment(stateRef: StateRef): Attachment

Returns the Attachment that defines the given StateRef, which must be in the visible subset of the ledger.


abstract fun loadState(stateRef: StateRef): TransactionState<*>

Given a StateRef loads the referenced transaction and looks up the specified output ContractState.


abstract fun loadStates(stateRefs: Set<StateRef>): Set<StateAndRef<ContractState>>

Given a Set of StateRef's loads the referenced transaction and looks up the specified output ContractState.


open fun specialise(ltx: LedgerTransaction): LedgerTransaction

Provides a callback for the Node to customise the LedgerTransaction.

Extension Functions


fun Any.contextLogger(): <ERROR CLASS>

When called from a companion object, returns the logger for the enclosing class.



interface ServiceHub : ServicesForResolution

A service hub is the starting point for most operations you can do inside the node. You are provided with one when a class annotated with CordaService is constructed, and you have access to one inside flows. Most RPCs simply forward to the services found here after some access checking.