Ceci constitue le dernier projet de la formation "Développeur Blockchain" d'Alyra. Nous avons été deux développeurs à travailler dessus. Techniquement, nous avons opté pour Hardhat et React. Concernant la partie contrat, nous avons eu recours aux contrats type Ownable proposées par OpenZeppelin. Concernant l'interface utilisateur, nous avons intégré des solutions comme React-Router-Dom, React-Hook-from / Yup, Framer-Motion et TailwindCss.
Le projet courant contient le contrat GiftFactory.sol
Ce dernier permet de créer le contrat GiftNetwork.sol qui gère la partie réseau social
De plus, le contrat GiftFactory.sol permet de générer les cartes cadeaux qui sont respectivement des contrats GiftCard.sol
Le contrat GiftCard.sol quand à lui génère un contrat GiftDAO.sol qui permet de créer la micro-DAO d'une carte.
Renommer le fichier env en .env.
Renseigner votre clé infura.
Pour travailler en local :
Renseigner votre clé privée Metamask dans le paramètre PRIVATE_KEY
npm installnpm run nodenpm run compilenpm run deploy-dev- Copier l'adresse du contrat dans un paramètre
REACT_APP_CONTRACT_ADDRESSdans le fichier.env npm run start
Nous avons choisi de privilégier la couverture de test à 100% sur le contrat principal (GiftFactory). Par manque de temps, nous n'avons pas pu totalement couvrir l'application. Voici le rapport provenant de Solidity-Covarage :

