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 install
npm run node
npm run compile
npm run deploy-dev
- Copier l'adresse du contrat dans un paramètre
REACT_APP_CONTRACT_ADDRESS
dans 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 :