BlockchainEtSociete / DevFest_CodeLabs

GNU General Public License v2.0
0 stars 1 forks source link

Blockchain & Société CodeLabs

Table des matières

Présentation

Ce projet à été créer dans le but d'une démonstration d'un cas d'usage de la blockchain, dans le cadre d'un atelier codeLabs du DevFest Nantes 2023.

Le projet à pour but de récompenser en NFT les gagnants des compétitions à l'issue d'un vote, pour chaque compétition une liste de jury sont selectionné, un jury est unique et est identifié par un SBT.

Synopsis

Le Festival du Cinéma du DevFest a une renommée internationale et récompense les meilleures œuvres cinématographiques de la communauté des développeurs. Les organisateurs du festival ont émis le souhait de moderniser le processus de récompense en utilisant la technologie des NFT. Votre mission, si vous l'acceptez, est de réaliser cette application en permettant aux organisateurs de sélectionner les films nominés, de définir les membres du jury, d'organiser des votes par le jury et de remettre les prix aux lauréats.

Structure

front (Front UI)
|
+-- public (static files)
|
+-- src (React sources)

blockchain (Smart Contract)
|
+-- contracts (Solidity source file of the smart contract)
|
+-- deploy (Deployment script)
|
+-- test (Unit tests)

Installation

Cloner le projet :

$ git clone https://github.com/BlockchainEtSociete/DevFest_CodeLabs.git

Outils

cliquez sur le bouton : SAVE AND RESTART

- [Metamask](https://metamask.io/)
```json
Importer un portefeuille existant :
  - Copier le mnemonic de ganache et coller dans la 1ere case de la phrase de récupération.
Créer un réseau local : 
  - Cliquez sur le bouton "Ajouter un réseau"
  - "Ajouter manuellement un réseau"
    - Nom du réseau : Ganache Local
    - Nouvelle URL de RPC : http://localhost:7545
    - ID de chaîne : 1337
    - Symbole de la devise : ETH

Front

Démarrage

Modifier le fichier .env.dist par .env avec vos configurations ou par défaut :

VITE_IPFS_API_SCHEME="http"
VITE_IPFS_API_HOST="localhost"
VITE_IPFS_API_PORT="5001"
VITE_IPFS_GATEWAY_SCHEME="http"
VITE_IPFS_GATEWAY_HOST="localhost"
VITE_IPFS_GATEWAY_PORT="8081"
Installation des packages
$ cd front
$ npm install
lancement de l'application :
$ npm run dev

Blockchain

Modifier le fichier .env.dist par .env avec vos configurations :

MNEMONIC="YOUR_MNEMONIC_GANACHE"

Démarrage

Compilation des smart contrats
$ cd blockchain
$ npm install
$ npm run build
Deploiement des smart contrats sur Ganache
$ npm run deploy:ganache

Résolution de problèmes

Si vous rencontrez des problèmes à la compilation ou au déploiement, vous pouvez utiliser les commandes suivantes:

Nettoyage des artéfacts et du cache de build
$ npm run clean
Deploy et reset smart contrat with Ganache (si besoin)
$ npm run deploy:ganache:reset
Execution des tests
$ npm run test

Fin de la procédure d'installation !


Wallets API

API de récupération des wallets pour la fin du Codelab (si ont a le temps)

Installation / lancement

$ cd wallets-api
$ nvm use
$ npm install
$ node src/index.js

Fonctionnement