🚀 A modern CLI tool for creating Web3 dApps with the latest stack: Next.js 15, RainbowKit v2, wagmi v2, and viem v2.
- DEMO: https://chainjet.online/
- ✨ Modern Stack: Built with the latest versions of RainbowKit, wagmi, and viem
- 🔒 Error-Free: Fixes the common "getDefaultConfig is not a function" error
- 🎯 TypeScript & JavaScript: Support for both TypeScript and JavaScript
- 🌈 Multi-Chain: Pre-configured with Ethereum, Polygon, Optimism, Arbitrum, and Base
- ⚡ Fast Setup: Quick project scaffolding with all dependencies installed
- 🎨 Beautiful UI: Pre-configured RainbowKit with dark theme
npx chainjet create my-appnpx chainjet create my-web3-appYou'll be prompted to select:
- Project Type: Web3 dApp
- Language: TypeScript or JavaScript
-
Navigate to your project:
cd my-web3-app -
Update your WalletConnect Project ID in
wagmi-config.ts(orwagmi-config.js):export const config = getDefaultConfig({ appName: 'My App', projectId: 'YOUR_WALLETCONNECT_PROJECT_ID', // Get this from https://cloud.walletconnect.com chains: [mainnet, polygon, optimism, arbitrum, base], ssr: true, });
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser
my-web3-app/
├── app/
│ ├── layout.tsx # Root layout with providers
│ ├── page.tsx # Home page with wallet connection
│ └── globals.css # Global styles
├── components/
│ └── providers.tsx # Wagmi and RainbowKit providers
├── wagmi-config.ts # Wagmi configuration
├── package.json # Dependencies (latest versions)
├── tsconfig.json # TypeScript configuration
├── next.config.js # Next.js configuration
└── README.md # Project documentation
- Next.js 15: Latest React framework with App Router
- RainbowKit v2: Beautiful wallet connection UI
- wagmi v2: React hooks for Ethereum
- viem v2: TypeScript interface for Ethereum
- TanStack Query: Async state management
- TypeScript: Full type support (for TS projects)
The template uses the correct import statement to avoid errors:
import { getDefaultConfig } from '@rainbow-me/rainbowkit';All dependencies are pinned to the latest compatible versions:
{
"@rainbow-me/rainbowkit": "^2.1.6",
"wagmi": "^2.13.6",
"viem": "^2.21.58",
"next": "16.2.2"
}Properly configured for Next.js 15 with Server-Side Rendering:
export const config = getDefaultConfig({
// ...
ssr: true,
});Pre-configured with major chains:
- Ethereum Mainnet
- Polygon
- Optimism
- Arbitrum
- Base
This error occurs when using outdated RainbowKit versions. Our template fixes this by:
- Using the latest RainbowKit v2.x
- Importing
getDefaultConfigfrom the correct package - Ensuring compatibility between all dependencies
Make sure to:
- Get a WalletConnect Project ID from cloud.walletconnect.com
- Update the
projectIdinwagmi-config.ts - Use a Web3-enabled browser or wallet extension
To contribute to this CLI tool:
git clone https://github.com/ramykatour/chainjet.git
cd cli
npm link
chainjet create test-appFor more information on the underlying technologies:
MIT
- GitHub Issues: https://github.com/ramykatour/chainjet/issues
- DOCS: https://docs.chainjet.online/
- DEMO: https://demo.chainjet.online/
Built with ❤️ by ChainJet

