## Installation Ganache - Télécharger Ganache sur le site officiel : https://www.trufflesuite.com/ganache, puis installer la version linux. - Après l'installation, on lance Ganache et on obtient l'interface suivante : ![Ganache](./images/acceuil-ganache.png) - Puis on choisit new workspace et on obtient l'interface suivante : ![Ganache](./images/ganache.png) - On clique sur "Start" ## Installation NodeJS - installer nvm ```bash curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash ``` - verifier l'installation ```bash nvm --version 0.39.7 ``` - installer nodejs ```bash nvm install node 18.18.2 ``` - verifier l'installation ```bash node -v v18.18.2 ``` ## Installation Truffle - installer node-gyp pour compiler des modules additionnels natifs pour Node.js. ```bash sudo apt install node-gyp ``` - installer truffle ```bash npm install -g truffle ``` - verifier l'installation ```bash truffle version Truffle v5.11.5 (core: 5.11.5) Ganache v7.9.1 Solidity v0.5.16 (solc-js) Node v18.18.2 Web3.js v1.10.0 ``` ## Installation MetaMask - installer l'extension MetaMask sur le navigateur Firefox: https://addons.mozilla.org/fr/firefox/addon/ether-metamask/ - créer un nouveau portefeuille ![MetaMask](./images/meta-mask.png) - sauvegarder la phrase de récupération - choisir un mot de passe - Maintenant, le portefeuille est créé et on peut se connecter à MetaMask ![MetaMask](./images/meta-mask-acceuil.png) ## Lier MetaMask au réseau Ganache: - Cliquer sur le bouton "Réseau" en haut à droite de l'interface de MetaMask - Cliquer sur "Ajouter un réseau" - Cliquer sur "Ajouter manuellement un réseau" ![MetaMask](./images/meta-mask-ajouter-reseau.png) ## Importer MetaMask à Ganache - Dans Ganache, cliquez sur l'un des comptes générés pour afficher ses détails. - Copiez la clé privée du compte. ![Ganache](./images/ganache-compte.jpg) - Dans MetaMask, cliquez sur le bouton "Comptes" en haut à droite de l'interface. - Cliquez sur "Importer un compte". - Collez la clé privée du compte dans le champ "Clé privée". - Cliquez sur "Importer". ![MetaMask](./images/meta-mask-importer-compte.png) ## Creation du projet ```bash truffle truffle unbox metacoin enchere-hollandaise ``` ## Lier le projet à Ganache - Dans Ganache, on clique sur le bouton "Settings" en haut à droite de l'interface, on clique sur "Add Project" et on choisie truffle-config.js de notre projet et puis on clique sur "Restart". ![Ganache](./images/ganache-projet.png) - Dans le fichier truffle-config.js, on ajoutes les lignes suivantes dans networks: ```bash ganache: { host: "127.0.0.1", port: 7545, network_id: "*", } ``` - Puis on migre le projet vers Ganache ```bash truffle compile truffle migrate --network ganache ``` - Dans Ganache, on obtient le résultat suivant: ![Ganache](./images/ganache-migration.png)