A decentralized application (DApp) built on the Sepolia Ethereum testnet that allows users to vote for their favorite Pokémon! Users register with their wallet, name, and a profile image (IPFS hash), and can cast one vote for any Pokémon in the list. The DApp includes admin features for the contract owner to add new Pokémon with their image and name.
🔗 Deployed Contract on Sepolia: 0x7772d78e7A9B1E69Bb8d50250550c83E591B77Eb
- Connect your wallet (must support Sepolia testnet).
- Register with:
- Your wallet address (must match the connected wallet).
- Your name.
- An image uploaded to IPFS (via hash).
- Vote for one Pokémon (only once per voter).
- Only the contract owner (deployer wallet) can:
- Add new Pokémon entries.
- Each Pokémon requires:
- A name.
- An image uploaded to IPFS (via hash).
- Enforces:
- Single vote per registered voter.
- Only registered users can vote.
- Only wallet owners can register themselves.
- Stores voter and Pokémon data including votes and IPFS image hashes.
- Solidity (v0.8.28)
- Hardhat for development, testing, and deployment
- React
- Vite (build tool)
- Tailwind CSS (styling)
- TypeScript
- Ethers.js (Ethereum interaction)