Search projects, hackathons, sponsors and tech

    ← All projects

    Panda Pet Game

    Raise, customize, and play with your virtual Panda

    Demo

    About

    The problem it solves Most virtual pet games are centralized — your progress, items, and pets can be lost if the platform shuts down. Panda Pet Game solves this by storing your pet as an NFT on the Base blockchain, giving players true ownership. *What it does:* - Players mint a unique Panda NFT that they fully own on-chain - Equip cosmetic items (hats, shirts, accessories) stored as on-chain data - Interactive gameplay: feed, wash, play minigames, and level up your Panda - Low gas fees on Base L2 make it affordable for everyone *Key features:* - On-chain pet ownership via ERC721 NFT - 10+ cosmetic templates with equip/unequip system - Real-time pet stats (hunger, energy, fun, hygiene, health) - Mini-games (Ball Shooter, Bamboo Catcher) to earn XP and coins - Daily missions and reward system

    How it's made

    Challenges we ran into *1. OpenZeppelin v5 Breaking Changes* The smart contract failed to compile because OpenZeppelin v5 removed _isApprovedOrOwner() and changed the Ownable constructor to require an explicit initialOwner parameter. Fixed by migrating to _isAuthorized() and passing msg.sender to Ownable. *2. Network Detection Error with ethers.js* After connecting wallet, ethers.js threw "underlying network changed" error because Base Sepolia (chainId: 84532) is not recognized as a default network. Solved by passing 'any' as the network parameter to Web3Provider. *3. Nonce Conflicts During Batch Transactions* When creating 12 cosmetic templates on-chain, 2 transactions failed with "nonce too low" errors due to rapid successive transactions. Resolved by adding sequential delays between transactions. *4. Vercel Monorepo Deployment* The project uses a monorepo structure with the frontend in a web/