#evm #api-bindings #web3

ethrs

一个具有意见和快速的库,用于与 EVM 交互

2 个版本

0.1.1 2023 年 2 月 14 日
0.1.0 2023 年 2 月 6 日

#95#evm

MIT/Apache

38KB
572 代码行

ethrs Rust CI

一个具有意见和闪电般快速的 crate,用于与 EVM 交互 ⚡️ 此 crate 尝试简化序列化和反序列化的工作,主要选择默认使用 StringU256uint128 类型。这种选择是有意为之,以防止对反序列化数据的假设。

⚠️ 此 crate 仍在 beta 阶段,并且直到生产版本发布前不会遵循 semver。建议您在使用时锁定 crate,以确保向后不兼容的更改不会影响您。

🧰 安装

您可以通过运行以下命令使用 cargo 轻松安装此 crate

cargo add ethrs

或者,您可以在您的 Cargo.toml 文件中手动添加它,如下所示

[dependencies]
ethrs = "0.1.1"

🚀 快速入门

use ethrs::provider::Provider;
use ethrs::types::U256;
use lazy_static::lazy_static;
use std::error::Error;
use ethrs::provider::BlockWithTx;
use ethrs::provider::DefaultBlockParam;

fn main() -> Result<(), Box<dyn Error>> {
    let provider = Provider::new("https://rpc.ankr.com/eth");
    // Get the latest block number
    print!("Latest block number: {}", provider.block_number.unwrap());
    // Or fetch a pending block
    let pendingBlock: BlockWithTx = provider.get_block_by_number(Some(DefaultBlockParam::PENDING), None);
    // More APIs available in the docs!
}

📜 许可证

许可协议为以下之一

任选其一。

✏ 贡献

除非您明确说明,否则您有意提交的任何贡献,根据 Apache-2.0 许可证的定义,均应双许可如上所述,不附加任何额外条款或条件。

依赖项

~6–22MB
~307K SLoC