#css-selectors #download #evm #selector #error #events

evm-selectors

一个用于下载和使用已知 EVM 选择器的库

2 个版本

0.1.1 2024年5月22日
0.1.0 2024年5月22日

#38 in #selector

自定义许可

11KB
162

evm-selectors

evm-signatures 是一个用于处理已知以太坊虚拟机(EVM)函数、错误、事件和其他选择器的 Rust 库,支持从 OpenChain API 下载选择器数据库。

用法

下载数据库

use evm_selectors::EvmSelectors;
use std::path::Path;

// Download and return as string
let data = EvmSelectors::download(None).await?;

// Download and write to tempfile.txt
EvmSelectors::download_to_file(Path::new("tempfile.txt"), None).await?;

加载数据库

use evm_selectors::EvmSelectors;
use std::path::Path;

// From a string
let data = "...".to_string();
let db = EvmSelectors::new_from_raw(&data)?;

// From a file
let db = EvmSelectors::new_from_file(Path::new("tempfile.txt"))?;

查询选择器

use evm_selectors::EvmSelectors;
use std::path::Path;

// Query a single selector
let db = EvmSelectors::new_from_file(Path::new("tempfile.txt"))?;
let functions = db.get(&[0x00, 0x01, 0x02, 0x03].into());

// Get all available selectors
let all = db.items();

要求

如果激活了 download 功能(默认情况下是激活的),必须存在 SSL/TLS 库。有关详细信息,请参阅 reqwest 文档

致谢

OpenChain 提供可靠的选择器数据库。

依赖关系

~25–40MB
~769K SLoC