= Corda Component
:doctitle: Corda
:shortname: corda
:artifactid: camel-corda
:description: Perform operations against Corda blockchain platform using corda-rpc library.
:since: 2.23
:supportlevel: Stable
:component-header: Both producer and consumer are supported
//Manually maintained attributes
:camel-spring-boot-name: corda


*{component-header}*


*Since Camel {since}*

Camel connector for R3's https://www.corda.net/[Corda] blockchain platform using corda-rpc library.
This component uses the Corda RPC client.

Maven users will need to add the following dependency to their `pom.xml`
for this component:

[source,xml]
----
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-corda</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>
----

== URI Format

----
corda://<host:port>[?options]
----

// component-configure options: START

// component-configure options: END

// component options: START
include::partial$component-configure-options.adoc[]
include::partial$component-endpoint-options.adoc[]
// component options: END

// endpoint options: START

// endpoint options: END


== Message Headers

[width="100%",cols="10%,90%",options="header",]
|=======================================================================
|Header |Description

|`All URI options` |All URI options can also be set as exchange headers.

|=======================================================================


== Samples

Subscribe for new vault state changes:

[source,java]
----
from("corda://localhost:10006?username=user1&password=test&operation=VAULT_TRACK&contractStateClass=#contractStateClass")
    .to("jms:queue:vault");
----

Read the node information:

[source,java]
----
from("direct:start")
    .to("corda://localhost:10006?username=user1&password=test&operation=NODE_INFO");
----


include::spring-boot:partial$starter.adoc[]
