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
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/
- Ubuntu:
- OpenSSL 开发库
- Ubuntu:
apt-get install libssl-dev
- Windows: 待办事项
- Ubuntu:
- CMake 版本 >= 3.5.1,因为我们使用
cmake
包 来构建捆绑的 IN3 C 库- Ubuntu:
apt-get install cmake
- Windows:
https://cmake.com.cn/install/
,请确保将其添加到 Windows 的路径中
- Ubuntu:
- bindgen 以及因此 clang 开发库
- Ubuntu:
apt-get install clang libclang-dev llvm-dev
- Windows: 待办事项
- Ubuntu:
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(())
}
贡献
运行测试的说明
- 要运行测试,首先需要运行构建脚本。
./scripts/build_rust.sh
。 - 导航到 rust 绑定文件夹。
cd rust
- 然后使用 cargo 和额外的选项
RUST_TEST_THREADS=1
运行测试。这可以通过RUST_TEST_THREADS=1 cargo test
完成。
依赖
~5–8.5MB
~190K SLoC