5 个版本

0.1.8 2021 年 3 月 8 日
0.1.7 2020 年 9 月 3 日
0.1.6 2020 年 7 月 23 日
0.0.2 2020 年 5 月 22 日
0.0.1 2020 年 5 月 22 日

#17 in #consuming

每月下载量 21 次

自定义许可协议

16MB
386K SLoC

C 191K SLoC // 0.1% comments C++ 162K SLoC // 0.2% comments Shell 7.5K SLoC // 0.2% comments M4 7.5K SLoC // 0.2% comments Objective-C++ 6K SLoC // 0.2% comments Rust 3K SLoC // 0.0% comments Python 3K SLoC // 0.2% comments Objective-C 1.5K SLoC // 0.2% comments Automake 1.5K SLoC // 0.0% comments SWIG 1.5K SLoC // 0.0% comments GNU Style Assembly 864 SLoC // 0.4% comments Go 451 SLoC // 0.2% comments Assembly 394 SLoC // 0.3% comments Batch 112 SLoC // 0.4% comments Bitbake 54 SLoC AWK 37 SLoC // 0.1% comments Xcode Config 20 SLoC // 0.8% comments Perl 5 SLoC Ruby 2 SLoC

in3-rs

Rust 版 Incubed C 库的绑定。

Incubed 客户端是一个

  • 加密经济
  • 非同步且无状态的,但完全验证的
  • 资源消耗最低的

区块链客户端(加密经济客户端、最小验证客户端、超轻量级客户端)。

[dependencies]
in3 = "0.0.2"

链接

需求

  • Rust 编译器版本 >= 1.42.0 -> rustc --version
  • 能够编译 IN3 C 源代码的工具链
    • Ubuntu: apt-get install build-essential
    • Windows: https://visualstudio.microsoft.com/visual-cpp-build-tools/
  • OpenSSL 开发库
    • Ubuntu: apt-get install libssl-dev
    • Windows: 待办事项
  • CMake 版本 >= 3.5.1,因为我们使用 cmake 来构建捆绑的 IN3 C 库
    • Ubuntu: apt-get install cmake
    • Windows: https://cmake.com.cn/install/请确保将其添加到 Windows 的路径中
  • bindgen 以及因此 clang 开发库
    • Ubuntu: apt-get install clang libclang-dev llvm-dev
    • Windows: 待办事项

in3-rs 使用 in3-sys 提供对 IN3 C 库的低级绑定。

功能

  • blocking - 启用依赖于 async-std 的阻塞 API。

示例

Cargo.toml

[dependencies]
async-std = "1.5.0"
in3 = "0.2.0"

main.rs

use std::convert::TryInto;
use async_std::task;

use in3::eth1::*;
use in3::prelude::*;

fn main() -> In3Result<()> {
    let mut eth_api = Api::new(Client::new(chain::MAINNET));
    eth_api.client().configure(r#"{"autoUpdateList":false,"nodes":{"0x1":{"needsUpdate":false}}}}"#)?;

    let latest_blk_num: u64 = task::block_on(eth_api.block_number())?.try_into()?;
    println!("Latest block number is {:?}", latest_blk_num);
    Ok(())
}

贡献

运行测试的说明

  1. 要运行测试,首先需要运行构建脚本。 ./scripts/build_rust.sh
  2. 导航到 rust 绑定文件夹。 cd rust
  3. 然后使用 cargo 和额外的选项 RUST_TEST_THREADS=1 运行测试。这可以通过 RUST_TEST_THREADS=1 cargo test 完成。

依赖

~5–8.5MB
~190K SLoC