Overview
Scaffold-ETH 2 is an open-source toolkit designed for building decentralized applications (dapps) on the Ethereum blockchain. It provides developers with the tools they need to create and deploy smart contracts, as well as build user interfaces that interact with those contracts. Scaffold-ETH 2 is built using NextJS, RainbowKit, Hardhat, Wagmi, and Typescript. It offers features such as contract hot reload, custom hooks for simplified interactions with smart contracts, a collection of web3 components for building frontends, a burner wallet & local faucet for quick testing, integration with wallet providers, and a debug contracts tab.
Features
- Contract Hot Reload: Your frontend automatically adapts to your smart contract as you edit it.
- Custom Hooks: Collection of React hooks wrapper around wagmi to simplify interactions with smart contracts with Typescript autocompletion.
- Components: Collection of common web3 components to quickly build your frontend.
- Burner Wallet & Local Faucet: Quickly test your application with a burner wallet and local faucet.
- Integration with Wallet Providers: Connect to different wallet providers and interact with the Ethereum network.
- Debug Contracts Tab: Easily interact with your smart contracts using the debug contracts tab.
Installation
To get started with Scaffold-ETH 2, you will need to install the following tools:
- Node (v18 LTS)
- Yarn (v1 or v2+)
- Git
Once you have these tools installed, follow the steps below to install and set up Scaffold-ETH 2:
Clone the Scaffold-ETH 2 repository and install the dependencies.
git clone [repository-url] cd scaffold-eth-2 yarn install
Run a local Ethereum network in the first terminal.
yarn hardhat node
This command starts a local Ethereum network using Hardhat. You can customize the network configuration in
hardhat.config.ts
.Deploy the test contract on the local network in the second terminal.
yarn deploy
This command deploys a test smart contract to the local network. You can modify the contract located in
packages/hardhat/contracts
to suit your needs. The deployment script can also be customized.Start your NextJS app in the third terminal.
yarn dev
Visit your app on: http://localhost:3000. You can interact with your smart contract using the Debug Contracts page. The app configuration can be tweaked in
packages/nextjs/scaffold.config.ts
.Run smart contract tests using Hardhat in the fourth terminal.
yarn hardhat test
Edit your smart contract
YourContract.sol
located inpackages/hardhat/contracts
.Edit your frontend files located in
packages/nextjs/pages
.Edit your deployment scripts located in
packages/hardhat/deploy
.
Summary
Scaffold-ETH 2 is an open-source toolkit for building decentralized applications on the Ethereum blockchain. It provides developers with the necessary tools and features to create and deploy smart contracts, as well as build user interfaces for interacting with those contracts. With features such as contract hot reload, custom hooks for simplified interactions, and a collection of web3 components, Scaffold-ETH 2 aims to make it easier for developers to build dapps. Its integration with wallet providers and debug contracts tab further enhance the development experience. To get started, simply follow the installation guide provided above.