The options builder for a client connected to multiple nodes. ### ClientBuilder(): [ClientBuilder](#clientbuilder) Create a new instance of the Client ### withNode(node): [ClientBuilder](#clientbuilder) Adds an IOTA node by its URL. | Parameter | Type | Description | | --------------- | -------- | -------- | | node | String | The node URL | ### withNodes(nodes): [ClientBuilder](#clientbuilder) Adds a list of IOTA nodes by their URLs. | Parameter | Type | Description | | --------------- | -------- | -------- | | nodes | String[] | The list of node URLs | ### withNodeAuth(node, jwt, username, password): [ClientBuilder](#clientbuilder) Adds an IOTA node by its URL with optional jwt and or basic authentication | Parameter | Type | Description | | --------------- | -------- | -------- | | node | String | The node URL | | jwt | String | The JWT, can be `null` | | username | String | The username, can be `null` | | password | String | The password, can be `null`. Only checked if username is not `null` | ### withPrimaryNode(node, jwt, username, password): [ClientBuilder](#clientbuilder) Adds an IOTA node by its URL to be used as primary node, with optional jwt and or basic authentication | Parameter | Type | Description | | --------------- | -------- | -------- | | node | String | The node URL | | jwt | String | The JWT, can be `null` | | username | String | The username, can be `null` | | password | String | The password, can be `null`. Only checked if username is not `null` | ### withPrimaryPowNode(node, jwt, username, password): [ClientBuilder](#clientbuilder) Adds an IOTA node by its URL to be used as primary PoW node (for remote PoW), with optional jwt and or basic authentication | Parameter | Type | Description | | --------------- | -------- | -------- | | node | String | The node URL | | jwt | String | The JWT, can be `null` | | username | String | The username, can be `null` | | password | String | The password, can be `null`. Only checked if username is not `null` | ### withPermanode(node, jwt, username, password): [ClientBuilder](#clientbuilder) Adds an IOTA permanode by its URL, with optional jwt and or basic authentication | Parameter | Type | Description | | --------------- | -------- | -------- | | node | String | The node URL | | jwt | String | The JWT, can be `null` | | username | String | The username, can be `null` | | password | String | The password, can be `null`. Only checked if username is not `null` | ### withNodePoolUrls(node_pool_urls): [ClientBuilder](#clientbuilder) Get node list from the node_pool_urls | Parameter | Type | Description | | --------------- | -------- | -------- | | node_pool_urls | String[] | node_pool_urls list of node URLs for the node pool | ### withOfflineMode(): [ClientBuilder](#clientbuilder) Allows creating the client without nodes for offline address generation or signing ### withNetwork(network): [ClientBuilder](#clientbuilder) Client connected to the default Network pool unless specified. ``` import org.iota.client.ClientBuilder; Client clientOptions = new ClientBuilder().with_network("devnet").build(); ``` | Parameter | Type | Description | | --------------- | -------- | -------- | | network | String | The network we connect to | ### withNodeSyncInterval(node_sync_interval): [ClientBuilder](#clientbuilder) Set the node sync interval | Parameter | Type | Description | | --------------- | -------- | -------- | | node_sync_interval | float | The interval in seconds | ### withNodeSyncDisabled(): [ClientBuilder](#clientbuilder) Disables the node syncing process. Every node will be considered healthy and ready to use. ### withQuorum(quorum): [ClientBuilder](#clientbuilder) Set if quorum should be used or not | Parameter | Type | Description | | --------------- | -------- | -------- | | quorum | boolean | `true` if we use a quorum | ### withQuorumSize(quorum_size): [ClientBuilder](#clientbuilder) Set amount of nodes which should be used for quorum | Parameter | Type | Description | | --------------- | -------- | -------- | | quorum_size | long | The amount of nodes | ### withQuorumThreshold(threshold): [ClientBuilder](#clientbuilder) Set quorum threshold | Parameter | Type | Description | | --------------- | -------- | -------- | | threshold | long | The percentage of nodes that need to agree (0-100) | ### withMqttBrokerOptions(options): [ClientBuilder](#clientbuilder) Sets the MQTT broker options. | Parameter | Type | Description | | --------------- | -------- | -------- | | options | [BrokerOptions](#brokeroptions) | the MQTT options | ### withLocalPow(local): [ClientBuilder](#clientbuilder) Sets whether the PoW should be done locally or remotely. | Parameter | Type | Description | | --------------- | -------- | -------- | | local | boolean | Enables or disables local PoW | ### withTipsInterval(tips): [ClientBuilder](#clientbuilder) Sets after how many seconds new tips will be requested during PoW | Parameter | Type | Description | | --------------- | -------- | -------- | | tips | long | delay in seconds | ### withRequestTimeout(timeout): [ClientBuilder](#clientbuilder) Sets the default request timeout in seconds. | Parameter | Type | Description | | --------------- | -------- | -------- | | timeout | float | The request timeout in seconds | ### withApiTimeout(api, timeout): [ClientBuilder](#clientbuilder) Sets the request timeout in seconds for a specific API usage. | Parameter | Type | Description | | --------------- | -------- | -------- | | api | [Api](#api) | The API we set the timeout for | | timeout | float | The request timeout in seconds | ### finish(): [Client](#client) Build the Client instance.