admin 发表于 2026-2-28 11:00:36

Eth.zig:纯Zig编写的以太坊库,在26项基准测试中19项胜过alloy.rs

Eth.zig:纯Zig编写的以太坊库,在26项基准测试中19项胜过alloy.rs

作者:James Bentley
来源:Github.com
引用:https://github.com/StrobeLabs/eth.zig

Eth.zig是一个性能卓越的以太坊库,完全使用纯Zig语言编写,无需任何依赖。它包含完整的以太坊客户端库,支持ABI编码、RLP序列化、secp256k1签名、Keccak-256哈希、HD钱包、ERC-20/721代币、JSON-RPC、ENS等功能,不使用C绑定和系统库,仅使用Zig构建。

Eth.zig为何如此出色?

1. **速度更快**:在26项基准测试中,Eth.zig在19项中胜过Rust的领先以太坊库alloy.rs,包括UniswapV4的mulDiv操作。在ABI编码、哈希、十六进制操作、地址解析、u256算术和交易序列化等大多数操作中,Eth.zig都更快。

2. **零依赖**:完全基于Zig的标准库构建,不使用C绑定、供应商的C代码或系统库。

3. **编译时优先**:函数选择器和事件主题在编译时计算,无需运行时成本。编译器负责哈希计算,从而减轻程序负担。

4. **纯Zig加密**:secp256k1 ECDSA、Keccak-256、BIP-32/39/44 HD钱包等均由纯Zig实现,不使用OpenSSL、libsecp256k1或FFI。

性能对比alloy.rs:

Eth.zig在19/26项基准测试中胜过alloy.rs,测试在Apple Silicon上执行,使用Zig的ReleaseFast模式与Rust的--release模式进行对比。

快速开始:

- 从私钥推导地址

- 签名并发送交易

- 读取ERC-20代币

- 编译时函数选择器和事件主题

- 从助记词创建HD钱包

安装:

- 一行命令安装:`zig fetch --save git+https://github.com/StrobeLabs/eth.zig.git#v0.2.2`

- 或手动添加到`build.zig.zon`文件

模块:

Eth.zig包含多个模块,如原始模块、编码模块、加密模块、交易类型、账户模块、传输模块、客户端模块、标准模块等。

功能:

Eth.zig支持多种功能,包括原始数据类型、RLP编码/解码、ABI编码/解码、Keccak-256哈希、secp256k1 ECDSA签名、交易类型、EIP-155重放保护、EIP-191个人消息签名、EIP-712类型化结构化数据签名、EIP-55地址校验和、BIP-32/39/44 HD钱包、HTTP传输、WebSocket传输、JSON-RPC提供者、ENS解析、合约读写助手、Multicall3批处理调用、事件日志解码和过滤、链定义、单位转换、ERC-20类型包装器、ERC-721类型包装器、JSON ABI解析等。

与其他库的比较:

Eth.zig在性能和功能上与alloy.rs和Zabi等库进行了比较。

要求:

- Zig >= 0.15.2

运行测试:

- 单元测试:`zig build test`

- 集成测试:`zig build integration-test`

贡献:

欢迎使用贡献。请在GitHub上打开问题或拉取请求。

在提交之前:

- 运行`zig build test`并确保所有测试通过。

- 遵循现有的代码风格。

- 为任何新功能添加测试。

许可:

MIT -- 请参阅LICENSE文件以获取详细信息。

版权所有2025-2026 Strobe Labs
页: [1]
查看完整版本: Eth.zig:纯Zig编写的以太坊库,在26项基准测试中19项胜过alloy.rs