About the IOTA SDK
The IOTA SDK provides a convenient and efficient way to interact with nodes in the Shimmer
and IOTA networks running the Stardust protocol.
It consists of two main modules: client
and wallet
.
The wallet
module uses high-level functions that simplify everyday operations with a standardized interface for
developers to build value transaction applications. Unlike the client
module, the wallet
module is stateful. It can optionally interact with IOTA Stronghold for seed handling, storage, and state backup.
The client
module provides more flexibility and access to low-level functions, which are usually kept "under the hood" by the
wallet
module. It aims to allow you to customize how you interact with the network in depth, at the cost of
additional complexity.
You can use this documentation to get your application up and running in using the programming language of your choice, connect to the testnet, explore the network, and get test tokens to develop your application.
Available Programming Languages
The IOTA SDK is written in Rust and also has convenient bindings in Node.js, Python and Wasm.
Each of these languages has specific set-up instructions you will need to follow to use the IOTA SDK in your project. The bindings libraries are individually adjusted for the language's conventions and best practices. For example, Python developers avoid the Builder programming pattern, so the Python binding uses named constructor arguments.
Your Application In the IOTA Network
Your application communicates directly with the IOTA SDK in Rust or through one of the language bindings. The IOTA SDK turns your requests into REST API calls and sends them to a node. The node, in turn, interacts with the rest of an IOTA network, which could be the main operational network (mainnet) or a network for testing purposes (testnet).
Secure Secret Management
You can use Stronghold for secure secret management. Stronghold can store the encrypted seed at rest. It is not possible to extract the seed from Stronghold for security purposes. Stronghold uses encrypted snapshots that can easily be backed up and securely shared between devices. These snapshots are further secured with a password.
Join the Discussion
If you want to get involved in discussions about this library, or you're looking for support, go to the #libraries
channel
on Discord.