-
Bitcoin
$108,964.4873
2.62% -
Ethereum
$2,568.1305
5.78% -
Tether USDt
$1.0005
0.02% -
XRP
$2.2503
3.05% -
BNB
$659.8855
1.55% -
Solana
$153.8636
3.64% -
USDC
$1.0000
0.00% -
TRON
$0.2842
1.06% -
Dogecoin
$0.1692
6.07% -
Cardano
$0.5887
6.84% -
Hyperliquid
$39.8752
6.91% -
Bitcoin Cash
$501.7309
-0.38% -
Sui
$2.8826
7.46% -
Chainlink
$13.4954
4.61% -
UNUS SED LEO
$9.0149
0.75% -
Avalanche
$18.6363
7.85% -
Stellar
$0.2402
4.69% -
Toncoin
$2.8756
3.39% -
Shiba Inu
$0.0...01188
4.97% -
Litecoin
$88.7071
5.76% -
Hedera
$0.1557
7.27% -
Monero
$322.5041
2.88% -
Polkadot
$3.5482
7.43% -
Dai
$1.0001
0.01% -
Bitget Token
$4.5855
2.33% -
Ethena USDe
$1.0001
0.00% -
Uniswap
$7.3368
12.20% -
Pepe
$0.0...01021
9.52% -
Aave
$274.5359
5.39% -
Pi
$0.4933
1.17%
Comment gérer les changements de chaîne dans mon DAPP avec Metamask?
"Gérez les changements de chaîne Metamask dans les DAPP en écoutant l'événement« ChainChanged »et en mettant à jour votre fournisseur et vos contrats en conséquence.»
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
handleChainChanged
pour 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.ethereum
aprè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.
-
MOODENG
$0.1889
34.18%
-
AURA
$0.1497
32.64%
-
NEIRO
$0.0...04718
22.92%
-
RON
$0.5397
22.80%
-
KTA
$0.6916
21.76%
-
CHILLGUY
$0.0590
21.46%
- Crypto Summer achète: Shiba INU est-il sorti, et qu'est-ce qu'il y a?
- 2025-07-03 18:30:12
- Bitcoin, Solaris Prévente et Coin Watch: Catching the Next Wave
- 2025-07-03 19:10:11
- Bonk ETF Buzz: Catalyst pour une pièce de monnaie de mèmes?
- 2025-07-03 19:50:12
- Sui Coin, Bitcoin Solaris et l'opportunité de prévente: attraper la prochaine vague
- 2025-07-03 19:50:12
- Sui Coin, Bitcoin Solaris et Opportunités de prévente: quel est le buzz?
- 2025-07-03 19:55:14
- MEXC's Bitcoin Reserves: une forteresse de couverture des actifs
- 2025-07-03 19:55:14
Connaissances connexes

Comment annuler une transaction en attente dans Phantom Wallet?
Jul 03,2025 at 07:21pm
Comprendre les transactions en attente dans Phantom Wallet Une transaction en attente dans le portefeuille fantôme se produit lorsqu'un utilisateur initie un transfert ou une interaction avec la blockchain Solana, mais il n'a pas encore été confirmé par le réseau. Cela peut se produire pour diverses raisons telles que les faibles frais de transa...

Comment verrouiller mon extension de portefeuille fantôme?
Jul 03,2025 at 11:14am
Quel est le portefeuille fantôme et pourquoi le verrouiller? Le portefeuille fantôme est un portefeuille de crypto-monnaie populaire non gardien conçu pour interagir avec la blockchain Solana. Prenant en charge les extensions de navigateur et les applications mobiles, Phantom permet aux utilisateurs de stocker, d'envoyer, de recevoir et de mettre en...

Est-ce que Phantom Wallet offre une authentification à deux facteurs (2FA)?
Jul 03,2025 at 09:00am
Comprendre Phantom Wallet et ses fonctionnalités de sécurité Le portefeuille fantôme est un portefeuille de crypto-monnaie non gardien largement utilisé qui prend en charge la blockchain Solana. Il permet aux utilisateurs de stocker, d'envoyer, de recevoir et d'interagir avec des applications décentralisées (DAPP) de manière transparente. Comme ...

Qu'est-ce que le «loyer» sur Solana et comment cela affecte-t-il mon portefeuille fantôme?
Jul 02,2025 at 08:35pm
Comprendre le «loyer» sur Solana Dans le contexte de Solana , le terme « loyer » fait référence à des frais de stockage que les utilisateurs paient pour la maintenance des données sur la blockchain. Contrairement à Ethereum, lorsque les coûts de stockage sont payés une fois via des frais de gaz pendant le déploiement du contrat, Solana met en œuvre un m...

Est-ce que Phantom Wallet est open source?
Jul 03,2025 at 12:29am
Qu'est-ce que Phantom Wallet? Le portefeuille Phantom est un portefeuille de crypto-monnaie non gardien principalement conçu pour la blockchain Solana . Il permet aux utilisateurs de stocker, d'envoyer, de recevoir et d'interagir avec des applications décentralisées (DAPP) sur le réseau Solana. Le portefeuille est disponible en tant qu'e...

Pourquoi mon application Phantom Wallet se précipite?
Jul 02,2025 at 07:35pm
Comprendre les accidents de l'application de portefeuille fantôme Si vous rencontrez des problèmes avec l' application Phantom Wallet Crashing , vous n'êtes pas seul. De nombreux utilisateurs ont signalé des problèmes similaires, en particulier pendant une activité de réseau élevée ou après des mises à jour récentes. Phantom est un portefeui...

Comment annuler une transaction en attente dans Phantom Wallet?
Jul 03,2025 at 07:21pm
Comprendre les transactions en attente dans Phantom Wallet Une transaction en attente dans le portefeuille fantôme se produit lorsqu'un utilisateur initie un transfert ou une interaction avec la blockchain Solana, mais il n'a pas encore été confirmé par le réseau. Cela peut se produire pour diverses raisons telles que les faibles frais de transa...

Comment verrouiller mon extension de portefeuille fantôme?
Jul 03,2025 at 11:14am
Quel est le portefeuille fantôme et pourquoi le verrouiller? Le portefeuille fantôme est un portefeuille de crypto-monnaie populaire non gardien conçu pour interagir avec la blockchain Solana. Prenant en charge les extensions de navigateur et les applications mobiles, Phantom permet aux utilisateurs de stocker, d'envoyer, de recevoir et de mettre en...

Est-ce que Phantom Wallet offre une authentification à deux facteurs (2FA)?
Jul 03,2025 at 09:00am
Comprendre Phantom Wallet et ses fonctionnalités de sécurité Le portefeuille fantôme est un portefeuille de crypto-monnaie non gardien largement utilisé qui prend en charge la blockchain Solana. Il permet aux utilisateurs de stocker, d'envoyer, de recevoir et d'interagir avec des applications décentralisées (DAPP) de manière transparente. Comme ...

Qu'est-ce que le «loyer» sur Solana et comment cela affecte-t-il mon portefeuille fantôme?
Jul 02,2025 at 08:35pm
Comprendre le «loyer» sur Solana Dans le contexte de Solana , le terme « loyer » fait référence à des frais de stockage que les utilisateurs paient pour la maintenance des données sur la blockchain. Contrairement à Ethereum, lorsque les coûts de stockage sont payés une fois via des frais de gaz pendant le déploiement du contrat, Solana met en œuvre un m...

Est-ce que Phantom Wallet est open source?
Jul 03,2025 at 12:29am
Qu'est-ce que Phantom Wallet? Le portefeuille Phantom est un portefeuille de crypto-monnaie non gardien principalement conçu pour la blockchain Solana . Il permet aux utilisateurs de stocker, d'envoyer, de recevoir et d'interagir avec des applications décentralisées (DAPP) sur le réseau Solana. Le portefeuille est disponible en tant qu'e...

Pourquoi mon application Phantom Wallet se précipite?
Jul 02,2025 at 07:35pm
Comprendre les accidents de l'application de portefeuille fantôme Si vous rencontrez des problèmes avec l' application Phantom Wallet Crashing , vous n'êtes pas seul. De nombreux utilisateurs ont signalé des problèmes similaires, en particulier pendant une activité de réseau élevée ou après des mises à jour récentes. Phantom est un portefeui...
Voir tous les articles
