😄

SmartJokes - Collection NFT de Blagues de Papa

Complété 2025 Application Décentralisée (dApp) avec Smart Contracts, Frontend et Stockage IPFS

SmartJokes est une application décentralisée (dApp) pour créer et collecter des "Blagues de Papa" comme NFTs sur la blockchain Ethereum. Le projet implémente un système de vote communautaire où les utilisateurs soumettent des blagues qui doivent recevoir des votes (dadnessScore) avant d'être frappées comme NFTs. Une fois frappées, les NFTs peuvent être échangées sur un marketplace, votées pour augmenter leur valeur et améliorées basées sur leur popularité. Le système utilise IPFS pour stockage décentralisé des métadonnées de blagues et implémente diverses mécaniques de jeu incluant périodes de cooldown, périodes de verrouillage et améliorations de type de blague (BASIC, GROAN, CRINGE, LEGENDARY).

Développement Blockchain Web3 Développement Full-Stack Smart Contracts NFT Applications Décentralisées Ethereum

Aperçu

SmartJokes est une application décentralisée (dApp) pour créer et collecter des "Blagues de Papa" comme NFTs sur la blockchain Ethereum. Le projet implémente un système de vote communautaire où les utilisateurs soumettent des blagues qui doivent recevoir des votes (dadnessScore) avant d'être frappées comme NFTs. Une fois frappées, les NFTs peuvent être échangées sur un marketplace, votées pour augmenter leur valeur et améliorées basées sur leur popularité. Le système utilise IPFS pour stockage décentralisé des métadonnées de blagues et implémente diverses mécaniques de jeu incluant périodes de cooldown, périodes de verrouillage et améliorations de type de blague (BASIC, GROAN, CRINGE, LEGENDARY).

Fonctionnalités clés

Système de vote communautaire pour approbation de blagues

Implémentation standard ERC721 NFT avec OpenZeppelin

Améliorations de type de blague (BASIC → GROAN → CRINGE → LEGENDARY)

Marketplace pour acheter et vendre des blagues avec ETH

Intégration IPFS pour stockage décentralisé de métadonnées

Mécaniques de gamification (dadnessScore, appréciation de valeur)

Fonctionnalités de sécurité (périodes de cooldown, périodes de verrouillage, contrôles d'accès)

Frontend React avec intégration Web3 (Wagmi, Viem)

Connexion portefeuille MetaMask et signature de transactions

Mises à jour d'état blockchain en temps réel

pages.portfolio.projects.smartjokes_dad_jokes_nft.features.10

Principales fonctionnalités

Implémentation de collection NFT ERC721 complète avec système de vote

Création de curation de contenu communautaire via mécanisme de vote

Construction de marketplace pour trading NFT avec paiements ETH

Intégration IPFS pour stockage décentralisé de métadonnées

Développement de système de gamification avec améliorations de type de blague

Implémentation de fonctionnalités de sécurité et mécanismes d'équilibre économique

Défis et solutions

Implémentation du Système de Vote

Assurance de vote équitable avec un vote par utilisateur, exclusion d'auteur, seuil de vote et période de vote basée sur le temps

Gestion d'État

Implémentation de mappings et tableaux séparés pour suivre blagues en attente vs approuvées

Équilibre Économique

Prévention de spam avec périodes de cooldown, maximum de blagues par utilisateur et exigences de seuil de vote

Intégration Frontend-Blockchain

Utilisation de hooks Wagmi, React Query et écoute d'événements pour mises à jour blockchain en temps réel

Intégration IPFS

Configuration de nœud IPFS avec Docker pour stockage décentralisé de métadonnées et récupération basée sur hash

Gestion de Transactions

Implémentation de gestion d'erreurs, états de chargement et suivi de statut de transaction pour retour utilisateur

Technologies

Smart Contracts

Solidity OpenZeppelin Hardhat TypeChain

Frontend

React TypeScript Vite Wagmi Viem Ethers.js

UI

Chakra UI React Router React Query

Storage

IPFS Docker

Blockchain

Ethereum MetaMask ERC721

Environment

Node.js TypeScript npm

Informations du projet

Statut
Complété
Année
2025
Architecture
Application Décentralisée (dApp) avec Smart Contracts, Frontend et Stockage IPFS
Category
Développement Blockchain