ChainID
EVMDé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;
}
}Pages Liées
Pratique ce concept sur Solingo
Maîtrise ChainID avec des exercices interactifs et un IDE intégré.
Commencer gratuitement