This is a demonstration application showcasing the integration of Firebase Authentication with Coinbase Smart Wallet functionality.
- Google Sign-In authentication using Firebase
- Coinbase Smart Wallet integration for creating and managing wallets
- Responsive UI with Tailwind CSS
- Next.js framework for server-side rendering and routing
- Next.js
- React
- Firebase (Authentication)
- Wagmi (Ethereum interactions)
- Tailwind CSS
- TypeScript
- Clone the repository
- Install dependencies:
npm install
- Set up your Firebase project and add the configuration to
utils/firebaseConfig.ts
- Set up your Wagmi configuration in
wagmi.ts
(ensure Coinbase Wallet connector is configured) - Run the development server:
npm run dev
- Open http://localhost:3000 in your browser
pages/
: Next.js pages and API routescomponents/
: React componentsAuth/
: Authentication-related componentsCreateWalletButton.tsx
: Coinbase Smart Wallet creation buttonWelcomeModal.tsx
: Modal displayed after user sign-in
lib/
: Firebase initializationutils/
: Utility functions and configurationsstyles/
: Global styles and Tailwind CSS configuration
SignInButton
: Handles Google Sign-InSignOutButton
: Handles user sign-outCreateWalletButton
: Initiates Coinbase Smart Wallet creationWelcomeModal
: Displays a welcome message and wallet creation option
- User clicks "Sign in with Google" button
- Firebase handles authentication
- Upon successful sign-in, a welcome modal is displayed
- User can create a Coinbase Smart Wallet from the modal or main page
- The app uses Coinbase Smart Wallet.
- Ensure all required environment variables are set for Firebase and Ethereum network configurations
- The app is set up to use the Ethereum mainnet, adjust the configuration in
wagmi.ts
if needed