#abi #solidity #ethereum #evm #encoding

无 std linera-alloy-core

Rust 以太坊核心库

1 个不稳定版本

0.7.4 2024年5月30日

#77 in #solidity

Download history 147/week @ 2024-05-27 100/week @ 2024-06-03 78/week @ 2024-06-10 90/week @ 2024-06-17 17/week @ 2024-06-24 70/week @ 2024-07-01 19/week @ 2024-07-08 74/week @ 2024-07-15 84/week @ 2024-07-22 106/week @ 2024-07-29

284 每月下载次数
linera-alloy 中使用

MIT/Apache

520KB
11K SLoC

Alloy

是 Rust 以太坊生态系统根目录的核心库。

Alloy 是从零开始重写的 ethers-rs,具有令人兴奋的新功能、高性能和优秀的文档。

ethers-rs 将继续维护,直到我们实现了 Alloy 的功能一致性。目前不需要开发者采取任何行动。

Build Status Telegram chat

概览

此仓库包含以下 crates

支持的 Rust 版本

合金将保持至少6个月的滚动MSRV(最低支持的Rust版本)政策。当提高MSRV时,新的Rust版本必须至少发布6个月前。当前的MSRV是1.65.0。

请注意,MSRV不会自动提高,只有在次要版本发布时才会提高。

贡献

感谢您的帮助,让项目变得更好!我们非常高兴有您!我们有一个贡献指南,帮助您参与合金项目。

除非CI通过,否则合并请求将不会合并,所以请确保您的贡献遵循linting规则并通过clippy。

WASM支持

我们为所有wasm*-*目标提供全面支持。如果某个crate在WASM目标上无法构建,请打开一个问题

当为wasm32-unknown-unknown目标构建并启用了"getrandom"功能时,对getrandom crate的编译将失败。这是预期的:请参阅他们的文档以获取更多详细信息。

要解决这个问题,您可以在linera-alloy-core上禁用"getrandom"功能,或者将getrandom添加到您的依赖项中,并启用"js"功能。

getrandom = { version = "0.2", features = ["js"] }

目前没有计划提供官方的JS/TS可访问的库接口,因为我们相信viemethers.js已经非常出色地满足了这一需求。

关于no_std的说明

此工作区中的所有crate都应支持no_std环境,包括alloc crate。如果您发现某个crate不支持no_std,请打开一个问题

致谢

以下所有crate的实现都离不开以下项目所做的大量工作:

许可

根据您的要求,此项目受Apache许可证2.0版MIT许可证许可。
除非您明确说明,否则您提交给这些crate的任何有意贡献,根据Apache-2.0许可证定义,将按上述方式双重许可,不附加任何额外条款或条件。

依赖关系

~3.5–7MB
~141K SLoC