#foundry #solidity #solc #ethereum #ethers

cyfrin-foundry-compilers

用于与Solidity编译器(例如solc)一起使用的工具。

2个不稳定版本

0.4.0 2024年5月20日
0.3.20-aderyn2024年5月20日

#5#solc

Download history 691/week @ 2024-05-20 798/week @ 2024-05-27 806/week @ 2024-06-03 200/week @ 2024-06-10 535/week @ 2024-06-17 443/week @ 2024-06-24 263/week @ 2024-07-01 399/week @ 2024-07-08 895/week @ 2024-07-15 417/week @ 2024-07-22 375/week @ 2024-07-29 304/week @ 2024-08-05 330/week @ 2024-08-12 522/week @ 2024-08-19

1,657 每月下载量
用于 4 个crate(3个直接使用)

MIT/Apache

1MB
18K SLoC

Foundry 编译器

最初是 ethers-rs 的一部分,作为 ethers-solc,Foundry 编译器是 Foundry 的编译后端。

ethers-rsethers-solc 被认为是维护模式,对其的任何修复也将反映在Foundry 编译器上。目前不需要开发者采取任何行动,尽管我们强烈建议使用Foundry 编译器而不是 ethers-solc

Build Status Telegram chat

支持的Rust版本

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

请注意,MSRV不会自动提高,仅作为次要版本的一部分。

贡献

感谢您帮助改进项目!我们非常高兴有您!我们有一个 贡献指南,以帮助您参与Foundry 编译器项目。

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

概述

要安装,只需将 foundry-compilers 添加到您的Cargo依赖项中。

[dependencies]
foundry-compilers = { git = "https://github.com/foundry-rs/compilers" }

示例用法

use foundry_compilers::{Project, ProjectPathsConfig};

// configure the project with all its paths, solc, cache etc.
let project = Project::builder()
    .paths(ProjectPathsConfig::hardhat(env!("CARGO_MANIFEST_DIR")).unwrap())
    .build()
    .unwrap();
let output = project.compile().unwrap();

// Tell Cargo that if a source file changes, to rerun this build script.
project.rerun_if_sources_changed();

依赖关系

~11–28MB
~462K SLoC