41 个发布版

0.4.1 2019 年 10 月 14 日
0.4.0 2019 年 10 月 9 日
0.3.0 2019 年 6 月 24 日
0.2.0 2019 年 6 月 20 日
0.0.10 2018 年 6 月 29 日

#58#iota

Download history 2/week @ 2024-03-08 2/week @ 2024-03-15 127/week @ 2024-03-29 39/week @ 2024-04-05

118 每月下载量
用于 iota-pow-box

MIT 许可证

1MB
15K SLoC

Rust 12K SLoC // 0.1% comments Java 3.5K SLoC // 0.2% comments Batch 67 SLoC Shell 29 SLoC

iota.rs

Build status Version Documentation License

这是一个 正在进行 的 Rust 客户端库,允许您进行以下操作

  • 创建交易
  • 签名交易
  • 生成地址
  • 与 IRI 节点交互

此客户端库仍处于测试阶段,因此可能存在性能和稳定性问题。由于 IOTA 基金会目前正在对 bee 进行开发,我们决定重新实现用于安全的常用库。此库将在基本库完成前冻结新功能。请在我们的 问题跟踪器 中报告任何问题。

目录
先决条件
使用库
入门
API 参考文档
示例
支持项目
加入讨论
许可证

先决条件

要使用库,我们建议将 Rust 更新到最新稳定版本 rustup update stable。夜间版本应该可以,但您可能需要一些可能不兼容的更改。

no_std 目前不支持,但我们正在 bee 中进行工作,并在新库实现完成后提供它作为功能。

使用库

使用库相对简单,只需将其添加到 Cargo.toml 中的依赖项即可。

[dependencies]
iota-lib-rs = "0.4"

入门

安装库后,您可以通过连接到 IRI 节点来发送交易并与账本交互。

要连接到本地 IRI 节点,我们提供了一个模块 Client

use iota_lib_rs::prelude::*;

let mut iota = iota_client::Client::new("https://127.0.0.1");

println!("{:#?}", iota.get_node_info().unwrap);

API 参考文档

有关所有可用 API 方法的详细信息,请参阅 文档

示例

use iota_client::options::SendTransferOptions;
use iota_lib_rs::prelude::*;
use iota_model::Transfer;
use iota_conversion::trytes_converter;

fn main() {
    let trytes =
        "HELLOWORLDHELLOWORLDHELLOWORLDHELLOWORLDHELLOWORLDHELLOWORLDHELLOWORLDHELLOWORLDD";
    let message = trytes_converter::to_trytes("Hello World").unwrap();
    let transfer = Transfer {
        address: trytes.to_string(),
        // Don't need to specify the field 
        // because the field and variable
        // have the same name
        message,
        // Populate the rest of the fields with default values
        ..Transfer::default()
    };
    let mut api = iota_client::Client::new("https://node01.iotatoken.nl");
    let tx = api
        .send_transfers(
            transfer,
            &trytes,
            SendTransferOptions {
                local_pow: true,
                threads: 2,
                ..SendTransferOptions::default()
            },
        )
        .unwrap();
    println!("{:?}", tx);
}

支持项目

加入讨论

如果您想参与社区,需要帮助设置,有任何与库相关的问题,或只是想与其他人讨论 IOTA、分布式账本技术 (DLT) 和物联网,请随时加入我们的 Discord

许可证

MIT许可证可以在此处找到。

依赖项

~24MB
~504K SLoC