Skip to Content
dApps

eth_chainId

Devuelve el ID de la red conectada en ese momento. El ID de cadena se usa para evitar ataques de repetición entre redes distintas.


Parámetros

Ninguno


Devuelve

string - El ID de cadena como cadena hexadecimal


Ejemplo

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

Comprobar la red

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 }

Exigir una red específica

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

Identificadores de cadena habituales

RedHexadecimalDecimal
Red principal de Ethereum0x11
Red de pruebas Sepolia0xaa36a711155111
Polygon0x89137
BSC0x3856
Arbitrum One0xa4b142161
Optimism0xa10
Base0x21058453
Avalanche C-Chain0xa86a43114

Errores

CódigoMensajeDescripción
-32603Error internoError del proveedor

Notas

  • El ID de cadena siempre se devuelve como cadena hexadecimal que lleva 0x como prefijo
  • Escucha el evento chainChanged para detectar cambios de red
  • Definido por EIP-695 
window.$onekey.ethereum.on('chainChanged', (chainId) => { console.log('Network changed to:', chainId) // Recommended: reload the page window.location.reload() })
Última actualización el