[[iota-component]]
= IOTA Component
:page-source: components/camel-iota/src/main/docs/iota-component.adoc

*Since Camel 2.23*

// HEADER START
*Only producer is supported*
// HEADER END

According to IOTA Official site: "IOTA is the first open-source distributed ledger that is being built to power the future of the Internet of Things with feeless microtransactions and data integrity for machines."

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-iota</artifactId>
    <version>x.y.z</version>
    <!-- use the same version as your Camel core version -->
</dependency>
------------------------------------------------------------

== Options

// component options: START
The IOTA component supports 3 options, which are listed below.



[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing. | false | boolean
| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
|===
// component options: END

// endpoint options: START
The IOTA endpoint is configured using URI syntax:

----
iota:name
----

with the following path and query parameters:

=== Path Parameters (1 parameters):


[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *name* | *Required* Component name |  | String
|===


=== Query Parameters (9 parameters):


[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *depth* (producer) | The depth determines how deep the tangle is analysed for getting Tips | 9 | Integer
| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing. | false | boolean
| *minWeightMagnitude* (producer) | The minWeightMagnitude is the minimum number of zeroes that a proof-of-work output/transaction hash must end with to be considered valid by full nodes | 14 | Integer
| *operation* (producer) | *Required* Which operation to perform, one of: sendTransfer, getNewAddress, getTransfers |  | String
| *tag* (producer) | TAG |  | String
| *url* (producer) | *Required* Node url |  | String
| *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
| *securityLevel* (security) | Address security level | 1 | Integer
|===
// endpoint options: END

// spring-boot-auto-configure options: START
== Spring Boot Auto-Configuration

When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:

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


The component supports 4 options, which are listed below.



[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *camel.component.iota.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
| *camel.component.iota.bridge-error-handler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | Boolean
| *camel.component.iota.enabled* | Whether to enable auto configuration of the iota component. This is enabled by default. |  | Boolean
| *camel.component.iota.lazy-start-producer* | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing. | false | Boolean
|===
// spring-boot-auto-configure options: END

== Sample route

The following route defined in Spring XML send a message to tangle

*Send message to tangle*

[source,xml]
----
<route>
  <from uri="direct:start" />
  <setMessage>
  	<constant>Hello world!</constant>
  </setMessage>
  <setHeader name="CamelIOTASeed">
  	<constant>MYSEEDHERE</constant>
  </setHeader>
  <setHeader name="CamelIOTAValue">
  	<constant>1</constant>
  </setHeader>
  <setHeader name="CamelIOTAToAddress">
  	<constant>RECIPIENTADDRESS</constant>
  </setHeader>
  <setHeader name="CamelIOTAToAddress">
  	<constant>RECIPIENTADDRESS</constant>
  </setHeader>
  <to uri="iota:good?url=https://node.iota.org:443&amp;operation=sendTransfer" />
  <to uri="direct:result" />
</route>
----

The following route defined in Spring XML create a new address

*Create a new address*

[source,xml]
----
<route>
  <from uri="direct:start" />
  <setHeader name="CamelIOTASeed">
  	<constant>MYSEEDHERE</constant>
  </setHeader>
  <setHeader name="CamelIOTAAddressIndex">
  	<constant>1</constant>
  </setHeader>
  <to uri="iota:good?url=https://node.iota.org:443&amp;operation=getNewAddress" />
  <to uri="direct:result" />
</route>
----

The following route defined in Spring XML retrieve transfers data

*Retrieve transfers*

[source,xml]
----
<route>
  <from uri="direct:start" />
  <setHeader name="CamelIOTASeed">
  	<constant>MYSEEDHERE</constant>
  </setHeader>
  <setHeader name="CamelIOTAAddressStartIndex">
  	<constant>1</constant>
  </setHeader>
  <setHeader name="CamelIOTAAddressEndIndex">
  	<constant>10</constant>
  </setHeader>
  <to uri="iota:good?url=https://node.iota.org:443&amp;operation=getTransfers" />
  <to uri="direct:result" />
</route>
----

