SmartJokes - Dad Jokes NFT Collection
SmartJokes is a decentralized application (dApp) for creating and collecting "Dad Jokes" as NFTs on the Ethereum blockchain. The project implements a community-driven voting system where users submit jokes that must receive votes (dadnessScore) before being minted as NFTs. Once minted, NFTs can be traded on a marketplace, voted on to increase their value, and upgraded based on their popularity. The system uses IPFS for decentralized storage of joke metadata and implements various game mechanics including cooldown periods, lock periods, and joke type upgrades (BASIC, GROAN, CRINGE, LEGENDARY).
Overview
SmartJokes is a decentralized application (dApp) for creating and collecting "Dad Jokes" as NFTs on the Ethereum blockchain. The project implements a community-driven voting system where users submit jokes that must receive votes (dadnessScore) before being minted as NFTs. Once minted, NFTs can be traded on a marketplace, voted on to increase their value, and upgraded based on their popularity. The system uses IPFS for decentralized storage of joke metadata and implements various game mechanics including cooldown periods, lock periods, and joke type upgrades (BASIC, GROAN, CRINGE, LEGENDARY).
Key Features
Community-driven voting system for joke approval
ERC721 NFT standard implementation with OpenZeppelin
Joke type upgrades (BASIC → GROAN → CRINGE → LEGENDARY)
Marketplace for buying and selling jokes with ETH
IPFS integration for decentralized metadata storage
Gamification mechanics (dadnessScore, value appreciation)
Security features (cooldown periods, lock periods, access controls)
React frontend with Web3 integration (Wagmi, Viem)
MetaMask wallet connection and transaction signing
Real-time blockchain state updates
pages.portfolio.projects.smartjokes_dad_jokes_nft.features.10
Technical Highlights
Implemented complete ERC721 NFT collection with voting system
Created community-driven content curation through voting mechanism
Built marketplace for NFT trading with ETH payments
Integrated IPFS for decentralized metadata storage
Developed gamification system with joke type upgrades
Implemented security features and economic balance mechanisms
Challenges and Solutions
Voting System Implementation
Ensured fair voting with one vote per user, author exclusion, vote threshold, and time-based voting period
State Management
Implemented separate mappings and arrays for tracking pending vs. approved jokes
Economic Balance
Prevented spam with cooldown periods, maximum jokes per user, and vote threshold requirements
Frontend-Blockchain Integration
Used Wagmi hooks, React Query, and event listening for real-time blockchain updates
IPFS Integration
Set up IPFS node with Docker for decentralized metadata storage and hash-based retrieval
Transaction Management
Implemented error handling, loading states, and transaction status tracking for user feedback
Technologies
Smart Contracts
Frontend
UI
Storage
Blockchain
Environment
Project Information
- Status
- Completed
- Year
- 2025
- Architecture
- Decentralized Application (dApp) with Smart Contracts, Frontend, and IPFS Storage
- Category
- Blockchain Development