🧪 An open-source, up-to-date toolkit for building decentralized applications (dapps) on the Ethereum blockchain. It's designed to make it easier for developers to create and deploy smart contracts and build user interfaces that interact with those contracts.
⚙️ Built using NextJS, RainbowKit, Foundry/Hardhat, Wagmi, Viem, and Typescript.
All the powerful features of Scaffold-ETH 2, plus:
- 🎨 Premium UI Components: Leveraging shadcn/ui's beautifully crafted, accessible components
- 🌓 Enhanced Theme Switching: Sophisticated dark/light mode implementation
- ♿ Improved Accessibility: Better ARIA support and keyboard navigation
- 🎯 Type-safe Components: Fully typed component library for better developer experience
- 🔧 Easy Customization: Tailwind CSS-based styling with shadcn/ui's theming system
Plus all the standard SE-2 features:
- ✅ Contract Hot Reload: Your frontend auto-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.
This version includes shadcn/ui components. Here's what you need to know:
- Components are pre-configured and ready to use
- Themes are defined in
packages/nextjs/styles/globals.css - New shadcn/ui components can be added using:
npx shadcn-ui@latest add [component-name]Before you begin, you need to install the following tools:
- Node (>= v18.18)
- Yarn (v1 or v2+)
- Git
To get started with Scaffold-ETH 2, follow the steps below:
- Install the latest version of Scaffold-ETH 2
npx create-eth@latest
This command will install all the necessary packages and dependencies, so it might take a while.
Note
You can also initialize your project with one of our extensions to add specific features or starter-kits. Learn more in our extensions documentation.
- Run a local network in the first terminal:
yarn chain
This command starts a local Ethereum network that runs on your local machine and can be used for testing and development. Learn how to customize your network configuration.
- On a second terminal, deploy the test contract:
yarn deploy
This command deploys a test smart contract to the local network. You can find more information about how to customize your contract and deployment script in our documentation.
- On a third terminal, start your NextJS app:
yarn start
Visit your app on: http://localhost:3000. You can interact with your smart contract using the Debug Contracts page. You can tweak the app config in packages/nextjs/scaffold.config.ts.
What's next:
Visit the What's next section of our docs to learn how to:
- Edit your smart contracts
- Edit your deployment scripts
- Customize your frontend
- Edit the app config
- Writing and running tests
- Setting up external services and API keys
Visit our docs to learn all the technical details and guides of Scaffold-ETH 2. For shadcn/ui documentation, visit shadcn/ui docs.
To know more about its features, check out our website.
We welcome contributions to Scaffold-ETH 2!
Please see CONTRIBUTING.MD for more information and guidelines for contributing to Scaffold-ETH 2.
