21 个不稳定版本 (3 个破坏性版本)
新版本 0.8.0 | 2024 年 8 月 21 日 |
---|---|
0.7.7 | 2024 年 7 月 8 日 |
0.7.6 | 2024 年 6 月 10 日 |
0.7.4 | 2024 年 5 月 14 日 |
0.0.10 | 2022 年 11 月 11 日 |
#5 in #eip-712
56,671 每月下载量
在 37 个 crate 中使用 (通过 alloy)
535KB
11K SLoC
合金
是 Rust 以太坊生态系统根目录下的核心库。
合金是从头开始重写的 ethers-rs
,具有令人兴奋的新特性、高性能和优秀的文档。
我们有一本关于所有合金内容的 书籍 和许多 示例 帮助你入门。
ethers-rs
将继续维护,直到我们在合金中达到功能 parity。目前不需要开发者采取任何行动。
概述
此存储库包含以下 crate
alloy-core
:整个项目的元 cratealloy-primitives
- 基本整数和字节类型alloy-sol-types
- 编译时 ABI 和 EIP-712 实现alloy-sol-macro
-sol!
程序化宏alloy-dyn-abi
- 运行时 ABI 和 EIP-712 实现alloy-json-abi
- 完整的以太坊 JSON-ABI 实现alloy-sol-type-parser
- 用于 Solidity 类型字符串的简单解析器syn-solidity
- 基于syn
的 Solidity 解析器
支持的 Rust 版本 (MSRV)
当前的 MSRV (最低支持的 Rust 版本) 是 1.65。
Alloy 将保持至少落后最新稳定版两个版本的滚动 MSRV 政策(如果最新稳定版是 1.58,我们将支持 1.56)。
请注意,MSRV 不会自动增加,仅作为补丁(1.0 之前)或小版本(1.0 之后)发布的一部分。
贡献
感谢您帮助改进项目!我们非常高兴有您!我们有一个 贡献指南 帮助您参与 Alloy 项目。
除非 CI 通过,否则拉取请求不会合并,请确保您的贡献遵循 linting 规则并通过 clippy。
WASM 支持
我们支持所有 wasm*-*
目标。如果某个 crate 在 WASM 目标上无法构建,请 打开一个 issue。
当为 wasm32-unknown-unknown
目标构建并启用了 "getrandom"
功能时,对 getrandom
crate 的编译将失败。这是预期的:请参阅他们的文档 了解更多详情。
要解决这个问题,要么在 alloy-core
上禁用 "getrandom"
功能,要么将 getrandom
添加到您的依赖项中并启用 "js"
功能。
getrandom = { version = "0.2", features = ["js"] }
目前没有计划提供官方的 JS/TS 可访问的库接口,因为我们相信 viem 或 ethers.js 非常好地满足了这一需求。
关于 no_std
的说明
此工作空间中的所有 crate 都应支持 no_std
环境,包括 alloc
crate。如果您发现某个 crate 不支持 no_std
,请 打开一个 issue。
致谢
如果没有这些工作,这些 crate 都将无法实现
许可证
根据您的选择,受Apache 许可证版本 2.0 或 MIT 许可证约束。除非您明确说明,否则您提交的任何有意包含在这些 crate 中的贡献,如 Apache-2.0 许可证中定义的,将根据上述许可双重许可,不附加任何额外条款或条件。
依赖关系
~3.5–7MB
~141K SLoC