26个版本 (6个重大更新)

0.8.0 2024年8月21日
0.7.7 2024年7月8日
0.7.6 2024年6月10日
0.7.0 2024年3月30日
0.3.1 2023年7月30日

#626魔法豆

Download history 13983/week @ 2024-05-05 15031/week @ 2024-05-12 13643/week @ 2024-05-19 11662/week @ 2024-05-26 12787/week @ 2024-06-02 14626/week @ 2024-06-09 18226/week @ 2024-06-16 17106/week @ 2024-06-23 15502/week @ 2024-06-30 18409/week @ 2024-07-07 20317/week @ 2024-07-14 20904/week @ 2024-07-21 20349/week @ 2024-07-28 28133/week @ 2024-08-04 28051/week @ 2024-08-11 23937/week @ 2024-08-18

101,887 每月下载量
用于 66 个crate(21个直接使用)

MIT/Apache

530KB
11K SLoC

alloy-json-abi

完整的以太坊 JSON-ABI 实现。

此crate是 ethabi API的一部分的重实现,有一些主要区别

  • 结构体 Contract 现在称为 JsonAbi,并包含 fallbackreceive 函数
  • 结构体 ParamEventParam 仅部分解析类型字符串,而不是完全解析为Solidity类型

示例

将JSON ABI文件解析为 JsonAbi 结构体

use alloy_json_abi::JsonAbi;

# stringify!(
let path = "path/to/abi.json";
let json = std::fs::read_to_string(path).unwrap();
# );
# let json = "[]";
let abi: JsonAbi = serde_json::from_str(&json).unwrap();
for item in abi.items() {
    println!("{item:?}");
}

依赖关系

~4.5–7MB
~143K SLoC