Skip to Content
dApps
Sur cette page

wallet_switchEthereumChain

Demande au portefeuille de passer à la chaîne spécifiée. Si la chaîne n’est pas déjà configurée dans le portefeuille, une erreur est levée.


Paramètres

Array contenant un seul objet :

ChampTypeObligatoireDescription
chainIdstringOuiID de chaîne (chaîne hexadécimale avec préfixe 0x)

Valeur de retour

null en cas de réussite


Exemple

try { await window.$onekey.ethereum.request({ method: 'wallet_switchEthereumChain', params: [{ chainId: '0x89' }] // Polygon }) console.log('Switched to Polygon') } catch (error) { if (error.code === 4902) { // Chain not added, try adding it await window.$onekey.ethereum.request({ method: 'wallet_addEthereumChain', params: [chainConfig] // Define the full configuration for this chain first. }) await window.$onekey.ethereum.request({ method: "wallet_switchEthereumChain", params: [{ chainId: "0x89" }] }) } else { throw error } }

ID de chaînes courants

ChaîneID de chaîne (hex)ID de chaîne (décimal)
Ethereum0x11
Polygon0x89137
BSC0x3856
Arbitrum0xa4b142161
Optimism0xa10
Base0x21058453
Avalanche0xa86a43114

Erreurs

CodeMessageDescription
4001L’utilisateur a rejeté la demandeL’utilisateur a refusé le changement
4902ID de chaîne non reconnuChaîne non configurée dans le portefeuille

Remarques

  • Si la chaîne n’est pas configurée, utilisez wallet_addEthereumChain d’abord
  • L’utilisateur peut devoir approuver le changement
  • Écoutez l’événement chainChanged pour détecter la fin du changement
  • Défini par EIP-3326 
window.$onekey.ethereum.on('chainChanged', (chainId) => { console.log('Chain changed to:', chainId) // Recommended: reload the page window.location.reload() })
Dernière mise à jour le