Commencer avec Morph SDK et l'Intégration Metamask
Table of contents
- À propos de Morph 🤔
- Qu'est-ce que le Morph SDK ? 🤷♂️
- Principaux Points à Retenir 🎁
- Outils de Développement 🛠️
- Étape 1 : Téléchargement et configuration de Metamask
- Étape 2 : Ajouter le réseau Morph à Metamask
- Étape 3 : Obtenir des ethers de test
- Étape 4 : Récupérer votre clé privée
- Étape 5 : Créer un nouveau projet DApp
- Arborescence des fichiers de l'application Morph 📚
- Étape 6 : Configurer la DApp pour le déploiement
- Étape 7 : Compiler le contrat
- Étape 8 : Déployer le contrat sur un réseau local
- Étape 9 : Déployer le contrat sur le testnet Morph Holesky
- Ce que nous avons couvert: 🎉
- Conclusion
À 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
Rendez-vous sur metamask.io et sélectionnez
Obtenir MetaMask
Sélectionnez
Ajouter à votre navigateur
(Add to Browser
)pour télécharger l'extensionSur la page d'accueil de Metamask,
acceptez
les Conditions d'utilisationSélectionnez
Créer un nouveau portefeuille
pour en créer unAcceptez et continuez
Créez un mot de passe pour votre portefeuille
✍️ Acceptez les conditions pour poursuivre la configuration.
Sélectionnez "Créer un nouveau portefeuille" (
Create new wallet
)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
Cliquez sur le menu déroulant Réseau (
Network
) dans le coin supérieur gauche de la page MetamaskActivez l'option "Afficher les réseaux de test",
Show test networks
Rendez-vous sur chainlist.org
Cochez "Inclure les Testnets"
Include Testnets
pour charger les réseaux de testRecherchez Morph Holesky dans le champ de recherche
Sélectionnez "Connecter le portefeuille"
Connect Wallet
dans les résultats de la rechercheSuivez les instructions et
approuvez
l'intégration du réseauSélectionnez "Changer de réseau"
Switch network
pour passer au réseau Morph Holesky
Étape 3 : Obtenir des ethers de test
Accédez au Faucet Morph
Entrez l'adresse de votre portefeuille dans le champ
Cliquez sur le bouton
Envoyer ETH
pour recevoir des ethers de test
Étape 4 : Récupérer votre clé privée
Cliquez sur les trois points empilés dans le coin supérieur droit de la page Metamask
Sélectionnez
Détails du compte
Sélectionnez
Afficher la clé privée
Insérez votre mot de passe pour accéder à la clé
Cliquez et maintenez
Afficher la clé privée
pour la révélerCopiez 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
Ouvrez le dossier
contracts/foundry
Renommez
.env-example
en.env
Remplissez les informations
PRIVATE_KEY
etRPC_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
- Accédez au dossier
contracts/foundry
et exécutez :
forge build
- 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
- 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...
Naviguez vers le dossier contracts/foundry pour continuer
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
- Importez les informations configurées dans
.env
dans le terminal
source .env
- Simulez le contrat intelligent
forge script script/Deployer.s.sol:DeployerScript --rpc-url $RPC_URL
- 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.
- 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
- 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.
- Vérifiez votre solde sur Metamask
- 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.
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!