Commencer avec Morph SDK et l'Intégration Metamask

Daniel KambaleDaniel Kambale
7 min read

À propos de Morph 🤔

Morph est la première solution zkEVM optimiste de niveau 2 compatible avec la Machine Virtuelle d’Ethereum (EVM). La plateforme Morph est conçue pour améliorer l'expérience blockchain en la rendant plus accessible, efficace et conviviale, pour les développeurs comme pour les utilisateurs.

Qu'est-ce que le Morph SDK ? 🤷‍♂️

Pour aider les développeurs à créer des applications décentralisées (DApps) sur la plateforme Morph de niveau 2, Morph offre une collection de ressources, de frameworks, et de documentation connue sous le nom de Morph SDK (Kit de Développement Logiciel). Grâce à ce kit, les développeurs peuvent intégrer les capacités exclusives de Morph (scalabilité, traitement efficace des transactions et sécurité) dans leurs applications et simplifier leurs interactions avec la blockchain Morph.

Principaux Points à Retenir 🎁

  • Télécharger et configurer le portefeuille Metamask

  • Intégrer le réseau Morph Holesky dans Metamask

  • Obtenir des ethers du testnet Morph

  • Initialiser un nouveau projet DApp avec Morph SDK

  • Déployer un contrat sur un réseau local

  • Déployer sur le testnet Morph Holesky avec Forge

Outils de Développement 🛠️

  • Yarn
npm install -g yarn
  • Forge
curl -L https://foundry.paradigm.xyz | bash

Étape 1 : Téléchargement et configuration de Metamask

  1. Rendez-vous sur metamask.io et sélectionnez Obtenir MetaMask

  2. Sélectionnez Ajouter à votre navigateur ( Add to Browser)pour télécharger l'extension

  3. Sur la page d'accueil de Metamask, acceptez les Conditions d'utilisation

  4. Sélectionnez Créer un nouveau portefeuille pour en créer un

  5. Acceptez et continuez

  6. Créez un mot de passe pour votre portefeuille

✍️ Acceptez les conditions pour poursuivre la configuration.

  1. Sélectionnez "Créer un nouveau portefeuille" (Create new wallet)

  2. Sécurisez votre portefeuille

✍️ Il est fortement recommandé de sécuriser votre portefeuille pour éviter toute perte de fonds ou d'actifs.

Étape 2 : Ajouter le réseau Morph à Metamask

  1. Cliquez sur le menu déroulant Réseau (Network) dans le coin supérieur gauche de la page Metamask

  2. Activez l'option "Afficher les réseaux de test", Show test networks

  3. Rendez-vous sur chainlist.org

  4. Cochez "Inclure les Testnets" Include Testnets pour charger les réseaux de test

  5. Recherchez Morph Holesky dans le champ de recherche

  6. Sélectionnez "Connecter le portefeuille" Connect Wallet dans les résultats de la recherche

  7. Suivez les instructions et approuvez l'intégration du réseau

  8. Sélectionnez "Changer de réseau" Switch network pour passer au réseau Morph Holesky

Étape 3 : Obtenir des ethers de test

  1. Accédez au Faucet Morph

  2. Entrez l'adresse de votre portefeuille dans le champ

  3. Cliquez sur le bouton Envoyer ETH pour recevoir des ethers de test

Étape 4 : Récupérer votre clé privée

  1. Cliquez sur les trois points empilés dans le coin supérieur droit de la page Metamask

  2. Sélectionnez Détails du compte

  3. Sélectionnez Afficher la clé privée

  4. Insérez votre mot de passe pour accéder à la clé

  5. Cliquez et maintenez Afficher la clé privée pour la révéler

  6. Copiez votre clé privée

Étape 5 : Créer un nouveau projet DApp

Pour initialiser un nouveau projet DApp avec Morph SDK, exécutez :

npx @morphl2/create-morph-app@latest

✍️ Donnez un nom à votre application, par exemple "mon-appli-morph" et attendez l'exécution pour créer un nouveau dossier pour votre projet avec tous les paquets installés.

Arborescence des fichiers de l'application Morph 📚

  • Contracts : Ce dossier contient le code pour le développement de contrats intelligents utilisant les cadres Foundry ou Hardhat, structurés pour un développement DApp rapide et facile. Ce tutoriel se concentre sur le cadre Foundry.

  • Frontend : Ce dossier contient le code de développement côté client, implémenté avec NextJs, un cadre React. Vous pouvez personnaliser ceci en intégrant d'autres cadres frontend.

Étape 6 : Configurer la DApp pour le déploiement

  1. Ouvrez le dossier contracts/foundry

  2. Renommez .env-example en .env

  3. Remplissez les informations PRIVATE_KEY et RPC_URL

✍️ Assurez-vous de préfixer votre clé privée avec "0x" pour éviter les erreurs.

PRIVATE_KEY="0x2fa341ffadoNotCopyf78cfd317cYu3aediot91d16308db8"
RPC_URL="https://rpc-quicknode-holesky.morphl2.io"

Étape 7 : Compiler le contrat

  1. Accédez au dossier contracts/foundry et exécutez :
forge build
  1. Le résultat de votre compilation devrait ressembler à ceci :
[⠊] Compiling...
[⠊] Compiling 25 files with Solc 0.8.27
[⠒] Solc 0.8.27 finished in 933.05ms
Compiler run successful!

Étape 8 : Déployer le contrat sur un réseau local

  1. Ouvrez une nouvelle fenêtre de terminal pour activer le réseau local
anvil

✍️ Cela ouvre une liste de dix (10) comptes et leurs clés privées pour le déploiement. Laissez le terminal actif...

  1. Naviguez vers le dossier contracts/foundry pour continuer

  2. Avant le déploiement, il est nécessaire de simuler le contrat

forge script script/Deployer.s.sol:DeployerScript --rpc-url http://127.0.0.1:8545 [private_key]

✍️ Vous pouvez copier une des clés privées fournies dans la fenêtre du terminal Anvil pour l'utiliser.

Bonus : 💚 Stockez les informations d'environnement en utilisant le chiffrement Keystore
Exécutez cette commande pour chiffrer votre clé privée :

cast wallet import testAccount --interactive

✍️ Suivez les instructions et chiffrez votre clé privée avec un mot de passe simple pour réutilisation.

Enfin, exécutez la commande suivante pour déployer sur un réseau local

forge script script/Deployer.s.sol:DeployerScript --rpc-url http://127.0.0.1:8545 --broadcast --sender [account_address] --account testAccount

⚠️ Pour que cette commande s'exécute, il vous sera demandé le mot de passe créé pour chiffrer votre clé privée.

✍️ Souvenez-vous, votre clé privée chiffrée est associée au bon compte. Copiez le compte qui correspond à votre clé privée depuis la fenêtre du terminal Anvil.

Étape 9 : Déployer le contrat sur le testnet Morph Holesky

  1. Importez les informations configurées dans .env dans le terminal
source .env
  1. Simulez le contrat intelligent
forge script script/Deployer.s.sol:DeployerScript --rpc-url $RPC_URL
  1. Le résultat de la simulation devrait ressembler à ceci :
[⠊] Compiling...
No files changed, compilation skipped
Script ran successfully.

== Return ==
0: contract MyToken 0x90193C961A926261B756D1E5bb255e67ff9498A1

## Setting up 1 EVM.

==========================

Chain 2810

Estimated gas price: 0.202 gwei

Estimated total gas used for script: 747926

Estimated amount required: 0.000151081052 ETH

==========================

SIMULATION COMPLETE. To broadcast these transactions, add --broadcast and wallet configuration(s) to the previous command. See forge script --help for more.
  1. Exécutez la commande suivante pour déployer sur le testnet Morph Holesky :
forge script script/Deployer.s.sol:DeployerScript --rpc-url $RPC_URL  --broadcast --private-key $PRIVATE_KEY --legacy
  1. Voici à quoi devrait ressembler le résultat de votre déploiement :
[⠊] Compiling...
No files changed, compilation skipped
Script ran successfully.

== Return ==
0: contract MyToken 0x7afC2B995741dCb2e6606f577c99737612763127

## Setting up 1 EVM.

==========================

Chain 2810

Estimated gas price: 0.201 gwei

Estimated total gas used for script: 747926

Estimated amount required: 0.000150333126 ETH

==========================

##### 2810
✅  [Success]Hash: 0x1b10883e5da2f07548c5fc4c57f9f257be44b1157bf161f9c1650a73698445e4
Contract Address: 0x7afC2B995741dCb2e6606f577c99737612763127
Block: 11677316
Paid: 0.00011567751 ETH (575510 gas * 0.201 gwei)

✅ Sequence #1 on 2810 | Total Paid: 0.00011567751 ETH (575510 gas * avg 0.201 gwei)

==========================

ONCHAIN EXECUTION COMPLETE & SUCCESSFUL.
  1. Vérifiez votre solde sur Metamask

  1. Vérifiez avec l'explorateur de blocs Morph ( Morph block explorer)

Ce que nous avons couvert: 🎉

✅ Télécharger et configurer le portefeuille Metamask
✅ Intégrer le réseau Morph Holesky dans Metamask
✅ Obtenir des ethers de test sur Morph Testnet
✅ Initialiser un nouveau projet DApp avec Morph SDK
✅ Stocker les informations en utilisant le chiffrement Keystore
✅ Déployer un contrat sur un réseau local
✅ Déployer sur le testnet Morph Holesky avec Forge
✅ Vérifier le contrat avec l'explorateur Morph

Conclusion

Dans ce tutoriel, nous avons couvert les concepts fondamentaux nécessaires pour construire rapidement et facilement sur la blockchain Morph. Le processus de développement d'une application décentralisée complète, en utilisant l'un des cadres de développement Ethereum, commence par l'installation et la configuration de Metamask. Un déploiement simple et instructif sur les réseaux de test et local a été démontré. Cet article fournit des directives complètes pour créer une DApp fluide sur la blockchain Morph.

66
Subscribe to my newsletter

Read articles from Daniel Kambale directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Daniel Kambale
Daniel Kambale

Hello! I’m Daniel, a Web3 developer specializing in Solidity and smart contract development. My journey in the blockchain space is driven by a vision of a fully decentralized world, where technology empowers individuals and transforms industries. As an ambassador at Morph, I’m committed to fostering growth and innovation in this space, helping to shape a future that values transparency and security. Fluent in both English and French, I enjoy connecting with diverse communities and sharing my insights across languages. This is why you’ll find some of my articles in French, while others are in Swahili, as I believe knowledge should be accessible to all. I use my Hashnode blog to document my learning process, explore decentralized solutions, and share practical tutorials on Web3 development. Whether it's diving deep into Solidity, discussing the latest in blockchain, or exploring new tools, I’m passionate about contributing to a decentralized future and connecting with others who share this vision. Let’s build the future together!