net.corda.core.messaging / CordaRPCOps

CordaRPCOps

interface CordaRPCOps : RPCOps

RPC operations that the node exposes to clients using the Java client library. These can be called from client apps and are implemented by the node in the CordaRPCOpsImpl class.



Inherited Properties

protocolVersion abstract val protocolVersion: Int

Returns the RPC protocol version. Exists since version 0 so guaranteed to be present.

Functions

addVaultTransactionNote abstract fun addVaultTransactionNote(txnId: SecureHash, txnNote: String): Unit
attachmentExists abstract fun attachmentExists(id: SecureHash): Boolean

Checks whether an attachment with the given hash is stored on the node.

currentNodeTime abstract fun currentNodeTime(): Instant

Returns the node-local current time.

getVaultTransactionNotes abstract fun getVaultTransactionNotes(txnId: SecureHash): Iterable<String>
networkMapUpdates abstract fun networkMapUpdates(): <ERROR CLASS><List<NodeInfo>, <ERROR CLASS><MapChange>>

Returns all parties currently visible on the network with their advertised services and an observable of future updates to the network.

nodeIdentity abstract fun nodeIdentity(): NodeInfo

Returns Nodes identity, assuming this will not change while the node is running.

partyFromKey abstract fun partyFromKey(key: CompositeKey): Party?

Returns the Party corresponding to the given key, if found.

partyFromName abstract fun partyFromName(name: String): Party?

Returns the Party with the given name as its Party.name

startFlowDynamic abstract fun <T : Any> startFlowDynamic(logicType: Class<out FlowLogic<T>>, vararg args: Any?): FlowHandle<T>

Start the given flow with the given arguments, returning an Observable with a single observation of the result of running the flow.

stateMachineRecordedTransactionMapping abstract fun stateMachineRecordedTransactionMapping(): <ERROR CLASS><List<StateMachineTransactionMapping>, <ERROR CLASS><StateMachineTransactionMapping>>

Returns a snapshot list of existing state machine id - recorded transaction hash mappings, and a stream of future such mappings as well.

stateMachinesAndUpdates abstract fun stateMachinesAndUpdates(): <ERROR CLASS><List<StateMachineInfo>, <ERROR CLASS><StateMachineUpdate>>

Returns a pair of currently in-progress state machine infos and an observable of future state machine adds/removes.

uploadAttachment abstract fun uploadAttachment(jar: InputStream): SecureHash

Uploads a jar to the node, returns its hash.

vaultAndUpdates abstract fun vaultAndUpdates(): <ERROR CLASS><List<StateAndRef<ContractState>>, <ERROR CLASS><Update>>

Returns a pair of head states in the vault and an observable of future updates to the vault.

verifiedTransactions abstract fun verifiedTransactions(): <ERROR CLASS><List<SignedTransaction>, <ERROR CLASS><SignedTransaction>>

Returns a pair of all recorded transactions and an observable of future recorded ones.

Extension Functions

startFlow fun <T : Any, R : FlowLogic<T>> CordaRPCOps.startFlow(flowConstructor: () -> R): <ERROR CLASS>

These allow type safe invocations of flows from Kotlin, e.g.:

fun <T : Any, A, R : FlowLogic<T>> CordaRPCOps.startFlow(flowConstructor: (A) -> R, arg0: A): <ERROR CLASS>
fun <T : Any, A, B, R : FlowLogic<T>> CordaRPCOps.startFlow(flowConstructor: (A, B) -> R, arg0: A, arg1: B): <ERROR CLASS>
fun <T : Any, A, B, C, R : FlowLogic<T>> CordaRPCOps.startFlow(flowConstructor: (A, B, C) -> R, arg0: A, arg1: B, arg2: C): <ERROR CLASS>
fun <T : Any, A, B, C, D, R : FlowLogic<T>> CordaRPCOps.startFlow(flowConstructor: (A, B, C, D) -> R, arg0: A, arg1: B, arg2: C, arg3: D): <ERROR CLASS>

Inheritors

CordaRPCOpsImpl class CordaRPCOpsImpl : CordaRPCOps

Server side implementations of RPCs available to MQ based client tools. Execution takes place on the server thread (i.e. serially). Arguments are serialised and deserialised automatically.