Frameworks and pre-made stacks
We recommend picking a framework, particularly if you're just getting started. Building a full-fledged dapp requires different pieces of technology. Frameworks include many of the needed features or provide easy plugin systems to pick the tools you desire.
These frameworks come with a lot of out-of-the-box functionality, like:
- Features to spin up a local blockchain instance.
- Utilities to compile and test your smart contracts.
- Client development add-ons to build your user-facing application within the same project/repository.
- Configuration to connect to Ethereum networks and deploy contracts, whether to a locally running instance, or one of Ethereum's public networks.
- Decentralized app distribution - integrations with storage options like IPFS.


959
Waffle
The most advanced testing lib for smart contracts. Use alone or with Scaffold-eth or Hardhat.
TYPESCRIPTSOLIDITY
Open Waffle(opens in a new tab)
183
Kurtosis Ethereum Package
A container-based toolkit for easily configuring and spinning up a multi-client Ethereum testnet for rapid local dApp development, prototyping, and testing.
STARLARKPYTHON
Open Kurtosis Ethereum Package(opens in a new tab)
14,022
Truffle
The Truffle Suite gets developers from idea to dapp as comfortably as possible.
TYPESCRIPTJAVASCRIPT
Open Truffle(opens in a new tab)
2,625
Brownie
A Python-based development and testing framework for smart contracts targeting the Ethereum Virtual Machine.
PYTHONSOLIDITY
Open Brownie(opens in a new tab)
240
Epirus
A platform for developing, deploying and monitoring blockchain applications on the Java Virtual Machine.
HTMLSHELL
Open Epirus(opens in a new tab)
2,695
Create Eth App
Create Ethereum-powered apps with one command. Comes with a wide offerring of UI frameworks and DeFi templates to choose from.
JAVASCRIPTTYPESCRIPT
Open Create Eth App(opens in a new tab)
1,122
Scaffold-ETH-2
Ethers + Hardhat + React: everything you need to get started building decentralized applications powered by smart contracts.
TYPESCRIPTJAVASCRIPT
Open Scaffold-ETH-2(opens in a new tab)
1,930
Solidity template
A GitHub template for a pre-built setup for your Solidity smart contracts. Includes a Hardhat local network, Waffle for tests, Ethers for wallet implementation, and more.
TYPESCRIPTSOLIDITY
Open Solidity template(opens in a new tab)
7,824
Foundry
A blazing fast, portable and modular toolkit for Ethereum application development written in Rust.
RUSTSHELL
Open Foundry(opens in a new tab)