Liens du Figma Liens de la doc
Notre projet est une plateforme basée sur la blockchain qui permet aux créateurs de vendre des licences sous forme de tokens non fongibles (NFT). Voici comment les différents composants interagissent :
- Site Web: Interface principale pour les utilisateurs, où ils peuvent créer des comptes et gérer leurs licences NFT.
- Create Wallet: Les utilisateurs créent un portefeuille numérique via Thirdweb pour stocker et gérer leurs NFT.
- Creator: Les créateurs peuvent ajouter des collections d'NFT à la plateforme.
- Proxy: Permet de modifier la logique du contrat Factory sans changer l'adresse du contrat.
- Factory (License.sol): Un smart contract qui crée des collections d'NFT et gère la vente des licences.
- Collection (ERC721): Les NFT individuels représentant les licences.
- User: Les utilisateurs achètent des licences NFT en ajoutant des fonds via Moonpay.
- Admins: Gèrent la plateforme et le trésor des revenus stocké dans le Gnosis Safe.
Pour démarrer le projet sur votre machine locale, suivez ces étapes :
-
Cloner le dépôt de code sur votre machine locale.
-
Naviguez vers le dossier du projet dans votre terminal.
-
Exécutez la commande suivante pour installer toutes les dépendances :
npm install
-
Pour démarrer le serveur de développement, exécutez :
npm start
-
Le projet devrait maintenant être en cours d'exécution sur
http://localhost:3000
.
Pour interagir avec la blockchain, vous aurez besoin des adresses des smart contracts et du smart account (Gnosis Safe). Vous pouvez les trouver ci-dessous ceux qui sont déjà déployer sur sépolia testnet:
- License Factory Contract:
0x56374A1da8AE3d39F249C63E955F5a347Bb0E615
- Proxy Contract (Version 1):
0x7009469e65b885Dc195d9D6B86E27b8B9eD53325
- Proxy Contract (Version 2):
0x834fBD93C4df302E83018A8Cf85E8AAB6be3324e
- Smart Account Treasury (Gnosis Safe):
0x86F2986999A3eE70fD12d595d5812Ad76226e614
Notre front-end est construit avec React et utilise Thirdweb pour la connexion au portefeuille. Moonpay est intégré pour permettre aux utilisateurs de créditer leurs wallets avec une carte bancaire.
Nous avons deux versions du smart contract ProxyLicense.sol
pour gérer la logique de nos licences NFT, ainsi que License.sol
qui agit comme une Factory pour créer des collections d'NFT.
Le contrat Factory inclut ReentrancyGuard
pour prévenir les attaques de réentrance et SafeMath
pour des calculs sécurisés sans dépassements de capacité.