ChainID

EVM

Définition

Identifiant unique d'une blockchain Ethereum compatible. Mainnet = 1, Goerli = 5, Polygon = 137, Arbitrum = 42161, etc. Accessible via block.chainid en Solidity ou assembly { chainid() }. Utilisé pour prévenir les replay attacks entre différentes chaînes, notamment dans les signatures EIP-712.

Version anglaise

Unique identifier for an Ethereum-compatible blockchain. Mainnet = 1, Goerli = 5, Polygon = 137, Arbitrum = 42161, etc. Accessible via block.chainid in Solidity or assembly { chainid() }. Used to prevent replay attacks between different chains, especially in EIP-712 signatures.

Exemple de Code

contract ChainChecker {
  function requireMainnet() public view {
    require(block.chainid == 1, "Mainnet only");
  }

  function isTestnet() public view returns (bool) {
    return block.chainid == 5 || block.chainid == 11155111; // Goerli ou Sepolia
  }

  function getChainId() public view returns (uint256) {
    return block.chainid;
  }
}

Termes Liés

Pratique ce concept sur Solingo

Maîtrise ChainID avec des exercices interactifs et un IDE intégré.

Commencer gratuitement