[contract location] https://github.com/marofmar/FundMeForFun/blob/main/README.md
π Web3 Integration:
- Connects to MetaMask wallet
- Automatically switches to zkSync Sepolia network
- Real-time wallet connection status
π° Donation Functionality:
- Enforces $1 USD minimum donation (converted to ETH)
- Real-time ETH price estimation for USD conversion
- Transaction processing with user feedback
- Error handling for insufficient amounts
π Dashboard Features:
- Total funds raised display
- User's personal contribution tracking
- Minimum donation requirement display
- Contract owner withdrawal functionality (if you're the owner)
π¨ Modern UI/UX:
- Responsive gradient design
- Glass morphism effects
- Mobile-friendly layout
- Loading states and user feedback
π How to Use:
- Start the application: cd fundme-frontend npm start
- Connect MetaMask: - Make sure you have MetaMask installed - The app will guide you to connect and switch to zkSync Sepolia
- Make a donation: - Enter amount in ETH (minimum ~$1 USD worth) - Confirm transaction in MetaMask - See your contribution tracked on the dashboard
- Owner functions: - If you're the contract owner, you'll see a withdraw button
π Project Structure:
FundMe.sol fundme-frontend/ βββ src/ β βββ components/FundMe.tsx & .css (Main UI) β βββ hooks/useWeb3.ts (Wallet integration) β βββ contract/config.ts (Contract details) β βββ utils/contractUtils.ts (Helper functions) β βββ App.tsx (Main app)