Note: This template is a fork of the shadcn/ui monorepo template.
This template uses pnpm as its package manager. Make sure you have pnpm installed on your system. You can install it by running:
npm install -g pnpm
This is a template to build a modern Ethereum/EVM UI that interacts with the blockchain. It provides a robust foundation for developing dApps with cutting-edge UI components, streamlined wallet integrations, and efficient blockchain communication. Whether you're building a DeFi app, NFT project, or any blockchain-powered application, this template gives you the essential building blocks to get started quickly.
pnpm dlx evm-ui@latest init
To add components to your app, run the following command at the root of your interface
app:
pnpm dlx shadcn@latest add button
This will place the UI components in the packages/ui/src/components
directory.
-
wagmi
A React Hooks library for Ethereum, wagmi simplifies wallet connections and blockchain interactions. -
rainbowkit
RainbowKit is a React library that provides a streamlined and customizable way to connect crypto wallets to your dApp, ensuring a smooth user experience. -
viem
Viem offers low-level, stateless TypeScript primitives for interacting with the Ethereum blockchain, enabling efficient contract interactions and data fetching. -
@tanstack/react-query
TanStack Query is an async state manager that handles server state, caching, and background updates, improving data fetching and synchronization across your app.
Your tailwind.config.ts
and globals.css
are already set up to use the components from the ui
package.
To use the components in your app, import them from the ui
package.
import { Button } from "@workspace/ui/components/button"
When adding a new ABI, follow these steps:
-
Drop the new ABI JSON file into the
packages/contracts/abis
folder. -
Within the
packages/contracts
directory, run:pnpm generate