Skip to Content
dApps

eth_chainId

Renvoie l’ID de chaîne du réseau actuellement connecté. L’ID de chaîne sert à empêcher les attaques par rejeu entre différents réseaux.


Paramètres

Aucun


Valeur de retour

string - L’ID de chaîne sous forme de chaîne hexadécimale


Exemple

const chainId = await window.$onekey.ethereum.request({ method: 'eth_chainId' }) console.log('Chain ID (hex):', chainId) console.log('Chain ID (decimal):', parseInt(chainId, 16))

Vérifier le réseau

const CHAIN_IDS = { ETHEREUM: '0x1', POLYGON: '0x89', BSC: '0x38', ARBITRUM: '0xa4b1', OPTIMISM: '0xa', BASE: '0x2105' } async function checkNetwork() { const chainId = await window.$onekey.ethereum.request({ method: 'eth_chainId' }) switch (chainId) { case CHAIN_IDS.ETHEREUM: console.log('Connected to Ethereum Mainnet') break case CHAIN_IDS.POLYGON: console.log('Connected to Polygon') break default: console.log('Connected to chain:', parseInt(chainId, 16)) } return chainId }

Exiger un réseau précis

async function requireNetwork(requiredChainId) { const chainId = await window.$onekey.ethereum.request({ method: 'eth_chainId' }) if (chainId !== requiredChainId) { try { await window.$onekey.ethereum.request({ method: 'wallet_switchEthereumChain', params: [{ chainId: requiredChainId }] }) } catch (error) { if (error.code === 4902) { throw new Error('Please add this network to your wallet') } throw error } } } // Usage await requireNetwork('0x1') // Require Ethereum Mainnet

ID de chaînes courants

RéseauHexDécimal
Ethereum Mainnet0x11
Sepolia Testnet0xaa36a711155111
Polygon0x89137
BSC0x3856
Arbitrum One0xa4b142161
Optimism0xa10
Base0x21058453
Avalanche C-Chain0xa86a43114

Erreurs

CodeMessageDescription
-32603Erreur interneErreur du fournisseur

Remarques

  • L’ID de chaîne est toujours renvoyé sous forme de chaîne hexadécimale avec 0x comme préfixe
  • Écoutez l’événement chainChanged pour détecter les changements de réseau
  • Défini par EIP-695 
window.$onekey.ethereum.on('chainChanged', (chainId) => { console.log('Network changed to:', chainId) // Recommended: reload the page window.location.reload() })
Dernière mise à jour le