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