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.
protocolVersion |
abstract val protocolVersion: Int
Returns the RPC protocol version. Exists since version 0 so guaranteed to be present. |
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(): Pair<List<NodeInfo>, Observable<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 Node's 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 it's 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(): Pair<List<StateMachineTransactionMapping>, Observable<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(): Pair<List<StateMachineInfo>, Observable<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 it's hash. |
vaultAndUpdates |
abstract fun vaultAndUpdates(): Pair<List<StateAndRef<ContractState>>, Observable<Update>>
Returns a pair of head states in the vault and an observable of future updates to the vault. |
verifiedTransactions |
abstract fun verifiedTransactions(): Pair<List<SignedTransaction>, Observable<SignedTransaction>>
Returns a pair of all recorded transactions and an observable of future recorded ones. |
startFlow |
fun <T : Any, R : FlowLogic<T>> CordaRPCOps.startFlow(flowConstructor: () -> R): FlowHandle<T>
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): FlowHandle<T> fun <T : Any, A, B, R : FlowLogic<T>> CordaRPCOps.startFlow(flowConstructor: (A, B) -> R, arg0: A, arg1: B): FlowHandle<T> fun <T : Any, A, B, C, R : FlowLogic<T>> CordaRPCOps.startFlow(flowConstructor: (A, B, C) -> R, arg0: A, arg1: B, arg2: C): FlowHandle<T> 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): FlowHandle<T> |
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. |