truffle ganache

Généralement, chaque débutant dans le domaine du blockchain découvre Remix , et l’utilise pour compiler et déployer ses smart-contracts mais le problème ici c’est que le développeur a besoin de faire tout le processus du développement de son dapp localement.

C’est là où on commence à comprendre l’importance du truffle en tant qu’environnement de développement local, ce qui facilite la migration des contrats intelligents vers la blockchain Ethereum. Pour avoir plus d’information sur le blockchain et surtout sur ce qu’est Ethereum, veuillez consulter cet article.

Qu’est ce que truffle suite ?

C’est une collection d’outils qui a l’objectif d’assurer un processus de développement plus accessible; La suite comprend trois logiciels: Truffle, Ganache, et Drizzle , mais nous nous limiterons ici uniquement aux deux premiers éléments.

Truffle:

Truffle est l’environnement de développement et le framework de test de l’écosystème Truffle Suite. Truffle est un framework de développement des applications ethereum très populaire et il y a une grande communauté derrière l’outil. De plus, Truffle est basé sur l’EVM (Ethereum Virtual Machine) et l’un de ses objectifs est de rendre le développement de contrats intelligents plus simple et plus accessible comme mentionne dans le site officiel: “aiming to make life as a developer easier.

En utilisant truffle, vous obtenez:

  • compilation, liaison, déploiement et gestion binaire de contrats intelligents.
  • Tests automatisés de contrats pour un développement rapide.
  • Framework de déploiement et de migration scriptable et extensible.
  • Console interactive pour la communication contractuelle directe.
  • Exécuteur de scripts externes qui exécute des scripts dans un environnement Truffle.

Ganache:

Ganache est un outil qui nous permet de créer notre propre blockchain Ethereum native. La blockchain peut être utilisée à toutes les étapes du processus de développement, ce qui rend cet outil très utile. Ganache nous permet de déployer toutes nos dApps dans un environnement sécurisé et déterministe.

Ganache est disponible en deux versions différentes, Ganache UI et une CLI appelée ganache-CLI.Les deux versions sont disponibles sur Linux, Mac et Windows.

La question qui se pose est pourquoi utilisons-nous une blockchain locale alors que nous pouvons simplement utiliser ethereum main/testnet ? Il y a deux raisons à ce choix: la première est d’économiser l’argent, et la seconde est que nous pouvons gagner du temps.

Comment configurer truffle ?

Installation du truffle:

N.B:Pour installer Truffle, vous devez avoir Node et NPM.

Pour installer nodejs,visitez le lien suivant: https://nodejs.org/en/download/

Dans votre terminal, tapez la commande ci-dessous pour verifier si nodejs est installé:

 node v 

une fois nodejs installé, npm est également installé, pour vérifier cela, vous pouvez taper la commande ci-dessous dans votre terminal :

npm -v

Entrez la commande suivante dans votre terminal :

npm i -g truffle

Pour vérifier si Truffle est installé avec succès, exécutez :

truffle vesion

dans votre terminal. Vous devriez voir un output comme l’image ci-dessous :

vsGQLWwBnNbQkpBmHeL0UEDkHl5r40nme2Wp2BboTRt9TcUDfg9cAUc9wYBb0yv4atukMsRUeV5cUw8Zz1xJ9Lm2suVgEWlJHS2DGzwqucp USorYtcObxcUUz8BYJlUSGnWCrtde

Creation d’un projet en utilisant truffle

mkdir truffle-project

cd truffle-project

truffle init

Apres l’execution de cette commande,vous devez trouvez de nouveaux fichiers and dossiers comme l’image ci-dessous:

qFNAXZFRhzdYXbTB3EZfGmzBcEAqum3KqDwstq uGr3kbvWe18nqbNXd6AqvkYZbsxE i6yBYLKYP4Xh11u11t4ie9eroEF4 Hr0UZkM8trRhrXMi8sIYIIE0fHNDxk 5a5oXolHkNdS4hiKoHNlmdk
  • /contracts : stocke les codes solidity du smart-contract
  • /migrations : déployez le smart-contract qui se trouve au dossier /contracts.
  • /test : testez les codes de votre contrat intelligent, vous pouvez les faire soit en solidity ou bien nodejs.
  • truffle-config.js : document de configuration pour l’utilisateur Windows. Nous pouvons simplement le laisser tranquille.

Compilation du smart-contract  

Pour mieux expliquer comment compiler une contrat intelligente, on va créer une simple contrat appelée SimpleStorage.Voici le code dans l’image ci-dessous:

WesUdzdxCJxhpplTBhy02lbiUzMeBicR3h7W6CsSXZzG2batNZ6yF1iOLyaoLxYnmlGoQIQ34iu0vqB tH21nVy2oriLqx4AUNUtMzd59xERIYquDzd69x8amRO7Sa D0VGxlTn4eE10RWkcQ 3QtuA

Pour compiler cette smart-contract,on va entrer la commande:

truffle compile

Cela compile le code original en bytecode Ethereum. Si tout se passe bien, il créera un fichier .json sous un nouveau dossier  sous le nom build/contracts.

Testing du smart-contract

une fois le contrat intelligent déployé, il n’est pas possible de le modifier, c’est pourquoi nous devons le tester afin de corriger tout bug éventuel.Toutes les tests doivent ajoutes au dossier /test.Voici un exemple d’un simple test:

BGO8jxoOHsYOfmMGcvPaikPjr0RgOQSI0SZu3kje4 UbDB2qvCBrlcqfTgxdHgAcLXzljFVIYp7sqh1SgxTfNRvtuxA3gn1Hb lnQMEOQQc7WApFpw7ZUs9Sv9hcLHAcErRXmfhw4nt4coH ycRlS5g

Pour exécuter le test dans Truffle, saisissez simplement cette commande :

truffle test

si le test passe avec succès, vous trouverez un message dans le terminal comme l’image ci-dessous:

WLWnNK0WJq7xogwhafa535IWBh tIHmI08pAsgUMYNpu9lQy4fkZ16LOT1iyIahUhT3h6vI5p1iREBhU9WrrCePdI4DymAMlt1OXllAEtQOJJakqp0BSH4uVtk5iQkWYgiZCJUrTFZvAJ96jvD pZ1Q

Déploiement du smart-contract avec Ganache

tout d’abord, nous devons lancer ganache-cli avec la commande :

ganache-cli

On obtient un 10 comptes pour déployer notre contrat.

Créez un fichier js sous migrations, nommez-le “1_deploy_contracts.js”.

Après cela, copiez et collez le contenu de déploiement suivant dans le “1_deploy_contracts.js”.

2YOlsbsINeW5yOeVw0SHVRGDfr 4v2E092MLK2m7pIg3rRum3q wZg2 XYKxkim507Pl75wuy1O0nE444dGrfoBr

Modifiez le fichier truffle.config.js comme ci-dessous :

v6AIXEN50boKoZLkb1l0Fyy4iMhdlfiUw239CPcXSD5aZXpBVcg6veYZJSUHh oYRtIp5Mk043q4GlRqoKicFLYi4YRMixosDu0E12Dh9F 5ZA6fpKGb5fkeG

Et la dernière chose que vous devez faire est d’écrire la commande ci-dessous :

truffle migrate

Si tout passe bien,le resultat va etre comme l’image ci-dessous:

t9 dX UdOXjq3vJI

Félicitations!! vous venez de déployer le contrat de simple Storage à ganache.

LAISSER UN COMMENTAIRE

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.