#iota #wallet #tangle #client #sdk

无需std 碘塔SDK

碘塔SDK为开发者提供无缝的开发体验,通过提供账户抽象和与节点API交互的客户端来开发碘塔。

17个版本 (10个稳定版)

2.0.0-beta.12024年5月8日
1.1.5 2024年5月22日
1.1.4 2024年1月22日
1.1.3 2023年12月7日
0.4.0 2023年7月14日

#11 in #wallet

Download history 311/week @ 2024-05-04 481/week @ 2024-05-11 663/week @ 2024-05-18 817/week @ 2024-05-25 1121/week @ 2024-06-01 1491/week @ 2024-06-08 1703/week @ 2024-06-15 2576/week @ 2024-06-22 869/week @ 2024-06-29 647/week @ 2024-07-06 499/week @ 2024-07-13 621/week @ 2024-07-20 625/week @ 2024-07-27 679/week @ 2024-08-03 685/week @ 2024-08-10 650/week @ 2024-08-17

2,708 每月下载量
4 crates 中使用

Apache-2.0

1.5MB
34K SLoC

碘塔SDK库

Coverage Status

碘塔SDK是一个基于Rust的项目,它提供了一个方便高效的方式与运行在IOTA 2.0协议上的Shimmer和IOTA网络中的节点进行交互。它主要由两个主要模块组成:clientwallet

目录

功能

  • 客户端模块:碘塔SDK中的client模块提供了低级函数,允许你对与Shimmer节点的交互进行细粒度控制。该模块是无状态的。它提供了对底层API端点的访问,并支持自定义消息构建和与网络的直接通信等高级操作。

  • 钱包模块:碘塔SDK中的wallet模块提供了高级功能,用于管理账户、生成地址、创建交易以及与Shimmer网络交互。它为开发者提供了一个用户友好的界面,用于在Shimmer网络上构建应用程序。它是状态化的,并且可以可选地与IOTA Stronghold进行交互,以处理种子、存储和状态备份。

  • 绑定:碘塔SDK包括对PythonNode.jsWASM的绑定,允许你在你喜欢的编程语言中使用SDK。这些绑定提供了与现有项目的无缝集成,实现了跨平台兼容性和灵活性。

开发分支结构

此库遵循以下分支策略

分支 描述
develop 为未来版本的开发阶段网络进行持续开发。此分支将在发布时合并到 staging
生产 IOTA网络的最新版本。
开发阶段 Shimmer网络的最新版本。
其他 其他可能反映当前项目的分支。例如 develop,一旦准备就绪,它们也会进入 staging

开始之前

此文件专注于Rust核心SDK。如果您想了解安装和使用Python、Node.js和Wasm的说明,请参阅 PythonNode.jsWasm 指令。

要求

IOTA SDK需要 RustCargo。您可以在 Rust文档 中找到安装说明。

我们建议您首先将Rust编译器更新到最新稳定版本。

rustup update stable

依赖项

您还必须安装 cmakeclangopenssl。您可能需要安装系统上的其他构建工具,以便使用Cargo成功运行构建过程。

Windows

您可以从官方网站下载 cmake。您可以使用 vcpkgchocolatey 安装 openssl

  • 使用 vcpkg 安装 openssl
./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
  • 使用 chocolatey 安装 openssl
choco install openssl
# You may need to set the OPENSSL_DIR environment variable
set OPENSSL_DIR="C:\Program Files\OpenSSL-Win64"

macOS

您可以使用 Homebrew 安装 cmakeopenssl

brew install cmake [email protected]

Linux

您可以使用您发行版的包管理器安装 cmakeclangopenssl,或者从它们的网站下载。在Debian和Ubuntu上,您还需要 build-essentiallibudev-dev 软件包。

入门

安装碘塔SDK

要开始在您的Rust项目中使用IOTA SDK,您可以在您的 Cargo.toml 文件中包含以下依赖项

[dependencies]
iota-sdk = { git = "https://github.com/iotaledger/iota-sdk", branch = "develop" }

客户端使用

以下示例创建了一个连接到Shimmer测试网的客户端实例,并通过调用 Client.get_info() 获取节点信息,然后打印节点信息。

sdk/examples/client/getting_started.rs

钱包使用

以下示例将使用StrongholdSecretManager创建一个新的钱包账户。在Cargo.toml导入中需要 features = ["stronghold"]。要持久化钱包到数据库,可以添加 "rocksdb"

sdk/examples/wallet/getting_started.rs

示例

您可以使用提供的代码 示例 来熟悉IOTA SDK。您可以使用以下命令运行任何示例

cargo run --release --all-features --example example_name

其中 example_name 是示例文件夹中Cargo.toml 中的名称。例如

cargo run --release --all-features --example create_account

您可以使用以下命令获取可用代码示例的列表

cargo run --example

API参考

IOTA SDK Rust API参考在IOTA SDK存储库文档中。

贡献

如果您发现任何问题或对改进有建议,请访问GitHub仓库提交问题。您还可以提交包含拉取请求,包括错误修复新功能或文档改进。

在贡献之前,请阅读并遵守行为准则

许可

IOTA SDK是开源软件,采用Apache License 2.0授权。更多信息请参阅LICENSE

依赖项

~10–51MB
~816K SLoC