The C Client library is built for embedded development with microcontrollers and SoC(System on Chip). it can be ported to POSIX operating systems easily.

Software Development Kits(SDK) for MCUs:

C Client Library Diagram

The C Client library consists 4 abstraction layers:

  • Crypto - provide cryptographic functions

  • Core - implement components include address/message/UTXO…

  • Client - implement node REST APIs and Event APIs. (optional)

  • Wallet - simple wallet functions. (optional)

As a client application, Client and Wallet modules could be an option as needed. For instance, the application can implement its own wallet logic or it uses the Core module to compose messages then send messages through another interface without the Client module.

The C Client library relies on some functionalities from the operating system API or external library:

  • HTTP/HTTPS Client

  • JSON parser

  • Crypto library

  • MQTT Client

IOTA Application Architecture

The real world application could be vary, here is an example architecture of an IOTA client application.

With the client library, you can interact with IOTA Tangle to:

  • Create data and transaction messages

  • Send data and transaction messages

  • Query messages

  • Query the node status

  • Generate addresses

  • Subscribe node events