This is a decentralized donation platform built using Solidity, React, and Foundry. The app allows users to connect their Ethereum wallet, make donations, and track their contributions and donor tier. It also provides functionalities for contract owners to manage funds and view statistics.
- Wallet Integration: Seamless connection with MetaMask for managing Ethereum transactions.
- Donation Tracking: View total donations, individual contributions, and donor tiers (Bronze, Silver, Gold).
- Real-Time Updates: Updates donation stats dynamically.
- Contract Management: Owners can view the contract balance, total donations, and withdraw funds.
- Responsive Design: Built with TailwindCSS for a clean and responsive UI.
- Blockchain: Ethereum smart contracts using Solidity and deployed via Foundry.
- Frontend: React with Vite for fast development and deployment.
- Styling: TailwindCSS for custom styling.
- Ethereum Library: Ethers.js for interacting with the Ethereum blockchain.
- Node.js and pnpm installed.
- Foundry for smart contract development.
- MetaMask extension in your browser.
git clone <repository-url>
cd donation-app
pnpm install
pnpm dev
- Set up your Foundry environment (foundry.toml configuration already included).
- Compile the contract:
forge build
- Deploy the contract using Foundry or any Ethereum-compatible deployment tool.
Open your browser at http://localhost:3000 and connect your wallet to start donating.
- contracts: Solidity contracts for managing donations.
- web: Frontend application built using React and Vite.
- config: Foundry and Etherscan API configurations.
Create a .env file in the root directory with the following values:
VITE_CONTRACT_ADDRESS=<Deployed_Contract_Address>
Contributions are welcome! Please open an issue or submit a pull request.