The IOTA EVM SDK is a Rust-based project that provides a convenient and efficient way to interact with the Shimmer EVM in the IOTA network.
Sdk module: The sdk
module in the IOTA EVM SDK offers high-level functions that allow you to have
fine-grained control over your interactions with Shimmer nodes. The module is stateless. It provides access to the
underlying API endpoints and enables advanced operations such as custom message construction and direct communication
with the network.
Bindings: The IOTA SDK includes bindings for Node.js
, and WASM
, which allow you
to use the EVM SDK in your preferred programming language. These bindings provide seamless integration with existing
projects, enabling cross-platform compatibility and flexibility.
This library follows the following branching strategy:
Branch | Description |
---|---|
main |
Ongoing development for future releases of the staging networks. |
This file is focused on the Rust core SDK. Please refer to the Python, Node.js and Wasm instructions if you want information on installing and using them.
The IOTA SDK requires Rust
and Cargo
. You can find installation instructions in
the Rust documentation.
We recommend that you update the Rust compiler to the latest stable version first:
rustup update stable
You must also install cmake
, clang
, and openssl
. You may need to install additional build tools on your system to
run the build process successfully using Cargo.
You can download cmake
from the official website. You can install openssl
with vcpkg or chocolatey.
openssl
with vcpkg
:./vcpkg.exe install openssl:x64-windows
./vcpkg.exe integrate install
# You may want to add this to the system environment variables since you'll need it to compile the crate
set VCPKGRS_DYNAMIC=1
openssl
with chocolatey
:choco install openssl
# You may need to set the OPENSSL_DIR environment variable
set OPENSSL_DIR="C:\Program Files\OpenSSL-Win64"
You can install cmake
and openssl
with Homebrew
:
brew install cmake openssl@1.1
You can install cmake
, clang
, and openssl
with your distro's package manager or download them from their websites.
On Debian and Ubuntu, you will also need the build-essential
and libudev-dev
packages.
To start using the IOTA SDK in your Rust project, you can include the following dependencies in your Cargo.toml
file:
[dependencies]
iota-sdk-evm = { git = "https://github.com/iotaledger/iota-sdk-evm", branch = "develop" }
You can use the provided code examples to get acquainted with the IOTA SDK. You can use the following command to run any example:
cargo run --release --all-features --example example_name
Where example_name
is the name from the Cargo.toml name from the example folder. For example:
cargo run --release --all-features --example basic
You can get a list of the available code examples with the following command:
cargo run --example
You can find the IOTA EVM SDK API for Rust Reference in the IOTA EVM SDK crate documentation.
If you find any issues or have suggestions for improvements, please open an issue on the GitHub repository. You can also submit pull requests with bug fixes, new features, or documentation enhancements.
Before contributing, please read and adhere to the code of conduct.
The IOTA EVM SDK is open-source software licensed under Apache License 2.0. For more information, please read the LICENSE.