-
bitcoin $87959.907984 USD
1.34% -
ethereum $2920.497338 USD
3.04% -
tether $0.999775 USD
0.00% -
xrp $2.237324 USD
8.12% -
bnb $860.243768 USD
0.90% -
solana $138.089498 USD
5.43% -
usd-coin $0.999807 USD
0.01% -
tron $0.272801 USD
-1.53% -
dogecoin $0.150904 USD
2.96% -
cardano $0.421635 USD
1.97% -
hyperliquid $32.152445 USD
2.23% -
bitcoin-cash $533.301069 USD
-1.94% -
chainlink $12.953417 USD
2.68% -
unus-sed-leo $9.535951 USD
0.73% -
zcash $521.483386 USD
-2.87%
Comment gérer les changements de chaîne dans mon DAPP avec Metamask?
"Handle MetaMask chain changes in dApps by listening for the `chainChanged` event and updating your provider and contracts accordingly."
Jul 02, 2025 at 09:01 pm
Comprendre les changements de chaîne dans les DAPP
Lors du développement ou de l'interaction avec des applications décentralisées (DAPP), l'un des défis les plus courants auxquels les utilisateurs et les développeurs sont confrontés est de gérer les changements de chaîne . Metamask, étant l'un des portefeuilles de crypto-monnaie les plus utilisés, permet aux utilisateurs de basculer entre différents réseaux de blockchain. Cependant, cela peut entraîner des perturbations si un DAPP n'est pas correctement configuré pour détecter et répondre à ces changements de chaîne . Cela comprend des scénarios comme le passage de Ethereum MainNet à Binance Smart Chain ou dans tout environnement TestNet.
Le problème de base tourne autour de la garantie que votre DAPP réagit correctement lorsque le réseau sélectionné dans Metamask change. Cela est essentiel pour maintenir l'expérience utilisateur et prévenir les erreurs de transaction en raison d'identifices de chaîne incorrectes ou de points de terminaison RPC.
Détection des changements de réseau dans Metamask
Metamask fournit un écouteur d'événements appelé chainChanged , qui est déclenché chaque fois que l'utilisateur passe à un autre réseau. Pour gérer cela, vous devez implémenter un écouteur d'événements ChainChanged dans le code JavaScript de votre DAPP.
Voici comment vous pouvez le configurer:
- Importez Web3 ou utilisez le fournisseur injecté à partir de Window.ethereum.
- Ajoutez un écouteur d'événements pour
chainChanged:window.ethereum.on('chainChanged', handleChainChanged); - Définissez la fonction
handleChainChangedpour recharger ou reconfigurer le DAPP en fonction du nouvel ID de chaîne.
Cela garantit que votre DAPP sait toujours à quel réseau l'utilisateur est actuellement connecté et peut s'adapter en conséquence.
Gestion des identifiants de chaîne et des identifiants de réseau
Chaque réseau de blockchain possède un identifiant unique connu sous le nom de chaîne ID . Par exemple, Ethereum MainNet utilise la chaîne ID 1 , tandis que Rinkeby utilise 4 . Lorsqu'un utilisateur change de chaîne, l'événement chainChanged renvoie le nouvel ID de chaîne au format hexadécimal.
Pour assurer la compatibilité, votre DAPP devrait:
- Convertissez l'ID de chaîne retournée de l'hexadécimal en décimal en utilisant
parseInt(chainId, 16). - Comparez la valeur résultante avec une liste des ID de chaîne pris en charge.
- Affichez les commentaires de l'interface utilisateur appropriés ou redirigez l'utilisateur si la chaîne sélectionnée n'est pas prise en charge.
Si la chaîne n'est pas prise en charge, votre DAPP doit inciter l'utilisateur à revenir en arrière ou à fournir des instructions sur la façon d'ajouter des réseaux personnalisés via Metamask.
Mise à jour du fournisseur et reconnexion des contrats
Après avoir détecté un changement de chaîne, il est essentiel de mettre à jour votre fournisseur et de reconnecter toute instance de contrat intelligent. Le non-fait de le faire peut entraîner une récupération de données incorrecte ou des transactions échouées.
Étapes à suivre:
- Créez une nouvelle instance de web3 à l'aide de
window.ethereumaprès le changement de chaîne. - Reconnectez toutes les instances de contrat à l'aide du fournisseur mis à jour.
- Re-Fetch Les soldes du compte et les états contractuels pour refléter le réseau actuel.
Ce processus garantit que toutes les interactions se produisent sur la chaîne correcte et que votre DAPP reste réactif et précis indépendamment des commutateurs de réseau.
Inciter les utilisateurs à ajouter des chaînes personnalisées
Parfois, votre DAPP peut exiger que les utilisateurs se connectent à un réseau qui n'est pas disponible par défaut dans Metamask. Dans de tels cas, vous pouvez les inciter à ajouter un réseau personnalisé à l'aide de la méthode wallet_addEthereumChain .
Voici comment vous pouvez déclencher cette action:
- Préparez l'URL RPC, l'ID de chaîne, le symbole de devise et l'URL de l'Explorateur de blocs pour le réseau cible.
- Appelez la méthode suivante:
await window.ethereum.request({ method: 'wallet_addEthereumChain', params: [{chainId: '0x...', rpcUrls: ['https://...'], chainName: 'Custom Network', nativeCurrency: { name: 'Token', symbol: 'TKN', decimals: 18 }, blockExplorerUrls: ['https://...']}] });
Cela ouvrira une boîte de dialogue de confirmation Metamask permettant à l'utilisateur d'ajouter le réseau en toute sécurité.
Questions fréquemment posées
À quelle fréquence l'événement Chainchange tire-t-il?
L' événement ChainChanged se déclenche chaque fois que l'utilisateur change manuellement les réseaux dans Metamask ou lorsqu'un autre DAPP déclenche un changement de réseau. Il ne se déclenche pas pendant le chargement de la page initial, mais uniquement lorsque le réseau change après-initialisation.
Puis-je changer par programme dans les chaînes dans Metamask?
Oui, vous pouvez demander un interrupteur de chaîne à l'aide de la méthode wallet_switchEthereumChain . Vous devez passer l' ID de chaîne souhaité au format hexadécimal . Si la chaîne n'est pas déjà ajoutée, Metamask incitera l'utilisateur à l'ajouter en premier.
Pourquoi ma chaîne de détection DAPP ne change-t-elle pas immédiatement?
Votre DAPP doit écouter activement l'événement chainChanged à l'aide de window.ethereum.on('chainChanged', callback) . Si cet écouteur n'est pas enregistré au moment de l'exécution ou est supprimé pendant l'exécution, le DAPP ne détectera pas les modifications de la chaîne.
Que se passe-t-il si un utilisateur sélectionne une chaîne non prise en charge?
Si votre DAPP ne prend pas en charge la chaîne sélectionnée, elle devrait afficher un message d'avertissement indiquant que le réseau actuel n'est pas pris en charge. Vous pouvez également fournir un bouton pour guider l'utilisateur en ajoutant le réseau correct ou en revenant à un réseau pris en charge.
Clause de non-responsabilité:info@kdj.com
Les informations fournies ne constituent pas des conseils commerciaux. kdj.com n’assume aucune responsabilité pour les investissements effectués sur la base des informations fournies dans cet article. Les crypto-monnaies sont très volatiles et il est fortement recommandé d’investir avec prudence après une recherche approfondie!
Si vous pensez que le contenu utilisé sur ce site Web porte atteinte à vos droits d’auteur, veuillez nous contacter immédiatement (info@kdj.com) et nous le supprimerons dans les plus brefs délais.
-
RAIN Échangez maintenant$0.007852
113.00%
-
PIPPIN Échangez maintenant$0.06097
51.96%
-
PARTI Échangez maintenant$0.1396
42.04%
-
WAVES Échangez maintenant$0.9141
41.69%
-
ARC Échangez maintenant$0.04302
35.73%
-
HONEY Échangez maintenant$0.01029
21.80%
- Bitcoin, eCash Fork et Airdrop Dynamics : une plongée approfondie dans les dernières controverses de la cryptographie
- 2026-05-03 12:55:01
- Consensus 2026 Miami : Web3, Blockchain, Crypto-monnaie, NFT, Metaverse, conférence, 5 mai — Là où Wall Street rencontre la frontière numérique
- 2026-05-02 12:45:01
- La Fed maintient ses taux stables, déclenchant une baisse du prix du Bitcoin dans un contexte de tensions géopolitiques
- 2026-05-01 06:45:01
- Les mineurs de Bitcoin électrifient le réseau : l'acquisition d'une usine à gaz dans l'Ohio ouvre une nouvelle ère pour l'or numérique
- 2026-05-01 00:45:01
- Le jeton MEGA de MegaETH arrive dans la Big Apple : définition de nouveaux critères de performance pour la blockchain en temps réel
- 2026-05-01 00:55:01
- La pente glissante de Solana : les prévisions de prix indiquent une perte de résistance et de nouvelles baisses potentielles
- 2026-05-01 06:45:01
Connaissances connexes
Comment commencer à utiliser un portefeuille crypto en toute confiance en 2026
Jun 15,2026 at 05:00am
Bitcoin Réduire de moitié les mécanismes 1. Le protocole de Bitcoin applique un calendrier d'émission fixe dans lequel les récompenses de bloc son...
FAQ sur le portefeuille crypto : réponses aux questions des utilisateurs les plus courantes
Jun 18,2026 at 09:39am
Modèles de volatilité du marché 1. Les fluctuations de prix Bitcoin dépassent souvent 10 % sur une fenêtre de 24 heures lors d'événements à forte ...
Quelles fonctionnalités devriez-vous rechercher dans un portefeuille crypto ?
Jun 18,2026 at 03:59am
Modèles de volatilité du marché 1. Les fluctuations de prix Bitcoin sont souvent corrélées aux publications de données macroéconomiques, en particulie...
Comment choisir le portefeuille crypto adapté à vos besoins
Jun 16,2026 at 06:20am
Comprendre l'architecture du portefeuille 1. Un portefeuille cryptographique ne stocke pas les pièces sur l'appareil : il gère les clés crypto...
Liste de contrôle de sécurité du portefeuille crypto : étapes essentielles avant de détenir des fonds
Jun 15,2026 at 04:41am
Préparation de l'environnement hors ligne 1. Utilisez un ordinateur qui n’a jamais accédé à Internet ou démarrez à partir d’une clé USB Linux acti...
Principales erreurs commises par les débutants en matière de portefeuille cryptographique et comment les éviter
Jun 19,2026 at 08:20am
Ignorer la sécurité des phrases de départ 1. Écrire la phrase de départ sur papier et la stocker à proximité d’un ordinateur ou d’un téléphone augment...
Comment commencer à utiliser un portefeuille crypto en toute confiance en 2026
Jun 15,2026 at 05:00am
Bitcoin Réduire de moitié les mécanismes 1. Le protocole de Bitcoin applique un calendrier d'émission fixe dans lequel les récompenses de bloc son...
FAQ sur le portefeuille crypto : réponses aux questions des utilisateurs les plus courantes
Jun 18,2026 at 09:39am
Modèles de volatilité du marché 1. Les fluctuations de prix Bitcoin dépassent souvent 10 % sur une fenêtre de 24 heures lors d'événements à forte ...
Quelles fonctionnalités devriez-vous rechercher dans un portefeuille crypto ?
Jun 18,2026 at 03:59am
Modèles de volatilité du marché 1. Les fluctuations de prix Bitcoin sont souvent corrélées aux publications de données macroéconomiques, en particulie...
Comment choisir le portefeuille crypto adapté à vos besoins
Jun 16,2026 at 06:20am
Comprendre l'architecture du portefeuille 1. Un portefeuille cryptographique ne stocke pas les pièces sur l'appareil : il gère les clés crypto...
Liste de contrôle de sécurité du portefeuille crypto : étapes essentielles avant de détenir des fonds
Jun 15,2026 at 04:41am
Préparation de l'environnement hors ligne 1. Utilisez un ordinateur qui n’a jamais accédé à Internet ou démarrez à partir d’une clé USB Linux acti...
Principales erreurs commises par les débutants en matière de portefeuille cryptographique et comment les éviter
Jun 19,2026 at 08:20am
Ignorer la sécurité des phrases de départ 1. Écrire la phrase de départ sur papier et la stocker à proximité d’un ordinateur ou d’un téléphone augment...
Voir tous les articles














