Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Foundry | 6,067 | 13 hours ago | 731 | apache-2.0 | Rust | |||||
Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust. | ||||||||||
Manticore | 3,465 | 1 | 1 | 3 days ago | 723 | July 07, 2022 | 264 | agpl-3.0 | Python | |
Symbolic execution tool | ||||||||||
Golang Set | 3,248 | 503 | 1,026 | a month ago | 6 | March 29, 2022 | 2 | other | Go | |
A simple generic set type for the Go language. Trusted by Docker, 1Password, Ethereum and Hashicorp. | ||||||||||
Echidna | 2,158 | 2 days ago | 127 | agpl-3.0 | Solidity | |||||
Ethereum smart contract fuzzer | ||||||||||
Remix Project | 1,964 | 6 | a day ago | 18 | June 06, 2022 | 691 | mit | TypeScript | ||
Remix is a browser-based compiler and IDE that enables users to build Ethereum contracts with Solidity language and to debug transactions. | ||||||||||
Swc Registry | 746 | 25 days ago | 20 | mit | Solidity | |||||
Smart Contract Weakness Classification and Test Cases | ||||||||||
Blockchain Wallet V4 Frontend | 650 | 2 days ago | 29 | agpl-3.0 | TypeScript | |||||
Blockchain.com's open source, non-custodial Wallet | ||||||||||
Augur Core | 561 | 12 | 3 | 4 years ago | 51 | July 24, 2018 | 2 | gpl-3.0 | TypeScript | |
Augur back-end (Ethereum contracts) | ||||||||||
Go Livepeer | 499 | 2 | 4 days ago | 62 | August 16, 2022 | 233 | mit | Go | ||
Official Go implementation of the Livepeer protocol | ||||||||||
Tests | 432 | 10 | 8 | 9 days ago | 6 | April 08, 2015 | 25 | mit | JavaScript | |
Common tests for all Ethereum implementations |
Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.
Foundry consists of:
Need help getting started with Foundry? Read the 📖 Foundry Book (WIP)!
See the installation guide in the book.
If you're experiencing any issues while installing, check out Getting Help and the FAQ.
~/.svm
)DsTest
's emitted logsconsole.sol
contractForge is quite fast at both compiling (leveraging ethers-solc) and testing.
See the benchmarks below. More benchmarks can be found in the v0.2.0 announcement post and in the Convex Shutdown Simulation repository.
Testing Benchmarks
Project | Forge | DappTools | Speedup |
---|---|---|---|
transmissions11/solmate | 2.8s | 6m34s | 140x |
reflexer-labs/geb | 0.4s | 23s | 57.5x |
Rari-Capital/vaults | 0.28s | 6.5s | 23x |
Note: In the above benchmarks, compilation was always skipped
Compilation Benchmarks
Takeaway: Forge compilation is consistently faster by a factor of 1.7-11.3x, depending on the amount of caching involved.
Cast is a swiss army knife for interacting with Ethereum applications from the command line.
More documentation can be found in the cast package.
foundry.toml
Foundry is designed to be very configurable. You can configure Foundry using a file called foundry.toml
in the root of your project, or any other parent directory. See config package for all available options.
Configuration can be arbitrarily namespaced by profiles. The default profile is named default
(see "Default Profile").
You can select another profile using the FOUNDRY_PROFILE
environment variable. You can also override parts of your configuration using FOUNDRY_
or DAPP_
prefixed environment variables, like FOUNDRY_SRC
.
forge init
creates a basic, extendable foundry.toml
file.
To see your current configuration, run forge config
. To see only basic options (as set with forge init
), run forge config --basic
. This can be used to create a new foundry.toml
file with forge config --basic > foundry.toml
.
By default forge config
shows the currently selected foundry profile and its values. It also accepts the same arguments as forge build
.
You can re-use your .dapprc
environment variables by running source .dapprc
before using a Foundry tool.
You can find additional setup and configurations guides in the Foundry Book:
See our contributing guidelines.
First, see if the answer to your question can be found in book, or in the relevant crate.
If the answer is not there:
If you want to contribute, or follow along with contributor discussion, you can use our main telegram to chat with us about the development of Foundry!
abigen
macros.