0

foundry-rs/foundry

View on GitHub

Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.

10,5792,614Rustalloyblockchainbytecodecompilercompilersdappethethereumevmframeworkfuzzingirrustsmart-contractssoliditytempotestingtoolingtoolkitvyperUpdated 1d ago
README

 

Github Actions Telegram Chat Telegram Support

Install | Docs | Benchmarks | Developer Guidelines | Contributing | Crate Docs


Blazing fast, portable and modular toolkit for Ethereum application development, written in Rust.

  • Forge — Build, test, fuzz, debug and deploy Solidity contracts.
  • Cast — Swiss Army knife for interacting with EVM smart contracts, sending transactions and getting chain data.
  • Anvil — Fast local Ethereum development node.
  • Chisel — Fast, utilitarian and verbose Solidity REPL.

Demo

Installation

curl -L https://foundry.paradigm.xyz | bash
foundryup

See the installation guide for more details.

To verify a downloaded release archive or container image, see Verifying Releases.

Getting Started

Initialize a new project, build and test:

forge init counter && cd counter
forge build
forge test

Interact with a live network:

cast block-number --rpc-url https://eth.merkle.io
cast balance vitalik.eth --ether --rpc-url https://eth.merkle.io

Fork mainnet locally:

anvil --fork-url https://eth.merkle.io

Read the Foundry Docs to learn more.

Solidity editor integration

Configure your editor's Solidity language server command as forge lsp. The server is embedded in Forge, so the standalone solar executable is not required. Solar uses foundry.toml, workspace folders, remappings, and evm_version from the project automatically.

Solar's default flycheck runs forge lint --json with the same Forge executable that started the server. Solar's existing initializationOptions.forgePath option overrides that executable.

forge lsp follows Forge's normal environment setup, global-option parsing, and command dispatch. Project dotenv warnings use stderr, leaving stdout reserved for the LSP transport.

Contributing

Contributions are welcome and highly appreciated. To get started, check out the contributing guidelines.

Join our Telegram to chat about the development of Foundry.

Support

Having trouble? Check the Foundry Docs, join the support Telegram, or open an issue.

License

Comments0

No comments yet. Set the tone — say what you would want to know.