Newer
Older
# Tutoriel
**Installer git**
sudo apt-get install git
**Installer cURL**
sudo apt install curl
**Installer Node.js**
sudo apt install nodejs
**Docker et Docker Compose**
Assurez-vous que le démon docker est en cours d'exécution :
Facultatif: si vous souhaitez que le démon docker démarre au démarrage du système, exécutez la commande suivante :
sudo usermod -a -G docker <username>
**Hyperledger Fabric**
Placez-vous dans le répertoire de votre choix et installer Hyperledger Fabric :
Ajoutez au fichier .bashrc la ligne suivante pour ajouter les variables d'environnement :
export FABRIC_CFG_PATH=$PWD/../config/
**Réseau de test Fabric**
Supprimez tous les conteneurs ou artefacts de toutes les exécutions précédentes :
./network.sh up
**Les composants du réseau de test**
Affichez tous les conteneurs Docker qui s'exécutent sur votre ordinateur :
docker ps -a
# Fonctionnement du TPE 2020 - Vente d'un véhicule
**Créer le réseau**
Déplacez le répertoire VenteVoiture vers fabric-samples, puis ouvrez-le :
Lorsque le script est terminé, vous pouvez voir les nœuds Fabric s'exécutant sur votre machine :
docker ps
**Installer et approuver le contrat intelligent**
**(Alice)** Ouvrez un premier terminal et accédez au répertoire de la 1ère personne Alice :
**(Alice)** Exécutez le script pour définir les variables d'environnement :
peer lifecycle chaincode package car.tar.gz --lang node --path ./contract --label car_0
**(Alice)** Enregistrez l'ID du package en tant que variable d'environnement :
export PACKAGE_ID=car_0:7778fe966e1cfe11982c5f9d2d1a8eb1a225e4f547df8bac40ca50569fbd076d
peer lifecycle chaincode approveformyorg --orderer localhost:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name carcontract -v 0 --package-id $PACKAGE_ID --sequence 1 --tls --cafile $ORDERER_CA
**(Bob)** Ouvrez un second terminal et accédez au répertoire de la 2ème personne Bob :
**(Bob)** Exécutez le script pour définir les variables d'environnement :
peer lifecycle chaincode package car.tar.gz --lang node --path ./contract --label car_0
**(Bob)** Enregistrez l'ID du package en tant que variable d'environnement :
export PACKAGE_ID=car_0:7778fe966e1cfe11982c5f9d2d1a8eb1a225e4f547df8bac40ca50569fbd076d
peer lifecycle chaincode approveformyorg --orderer localhost:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name carcontract -v 0 --package-id $PACKAGE_ID --sequence 1 --tls --cafile $ORDERER_CA
**(Alice)** Retournez sur le terminal correpondant à Alice et validez la définition du chaincode :
peer lifecycle chaincode commit -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --peerAddresses localhost:7051 --tlsRootCertFiles ${PEER0_ORG1_CA} --peerAddresses localhost:9051 --tlsRootCertFiles ${PEER0_ORG2_CA} --channelID mychannel --name carcontract -v 0 --sequence 1 --tls --cafile $ORDERER_CA --waitForEvent
**Vente de la voiture**
**(Bob)** Retournez sur le terminal correpondant à Bob et accédez au répertoire application :
**(Bob)** Constatez que le véhicule a bien changé de propriétaire :