#abi #ethereum #serde #serialization #serde-json #json #parse-json

无 std linera-alloy-json-abi

完整以太坊 JSON-ABI 实现

1 个不稳定版本

0.7.4 2024 年 5 月 30 日

2040神奇豆子

Download history 155/week @ 2024-05-27 104/week @ 2024-06-03 80/week @ 2024-06-10 87/week @ 2024-06-17 17/week @ 2024-06-24 75/week @ 2024-07-01 27/week @ 2024-07-08 95/week @ 2024-07-15 82/week @ 2024-07-22 105/week @ 2024-07-29

310 每月下载量
用于 13 个 crate(6 个直接使用)

MIT/Apache

510KB
11K SLoC

linera-alloy-json-abi

完整以太坊 JSON-ABI 实现。

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

  • Contract 结构体重命名为 JsonAbi,并包含 fallbackreceive 函数
  • ParamEventParam 结构体仅部分解析类型字符串,而不是将其完全解析为 Solidity 类型

示例

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

use linera_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