2 个版本
0.1.1 | 2023 年 2 月 14 日 |
---|---|
0.1.0 | 2023 年 2 月 6 日 |
#95 在 #evm
38KB
572 代码行
ethrs
一个具有意见和闪电般快速的 crate,用于与 EVM 交互 ⚡️ 此 crate 尝试简化序列化和反序列化的工作,主要选择默认使用 String
、U256
和 uint128
类型。这种选择是有意为之,以防止对反序列化数据的假设。
⚠️ 此 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!
}
📜 许可证
许可协议为以下之一
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
- Apache-2.0 许可证 (LICENSE-APACHE 或 https://www.apache.org/licenses/LICENSE-2.0)
任选其一。
✏ 贡献
除非您明确说明,否则您有意提交的任何贡献,根据 Apache-2.0 许可证的定义,均应双许可如上所述,不附加任何额外条款或条件。
依赖项
~6–22MB
~307K SLoC