Yo! En tant que fournisseur d'Ethers, on me demande souvent comment obtenir l'ID de la chaîne de déploiement du contrat avec ethers.js. Cela peut être un peu délicat, surtout si vous êtes nouveau dans l'écosystème Ethereum, mais ne vous inquiétez pas, je suis là pour vous l'expliquer.
Tout d’abord, expliquons rapidement ce qu’est un identifiant de chaîne. Dans le monde Ethereum, chaque réseau blockchain possède un identifiant unique appelé identifiant de chaîne. Cela permet de différencier les différents réseaux, comme le réseau principal Ethereum, les réseaux de test tels que Ropsten ou Kovan, et même les réseaux blockchain privés. Lorsque vous déployez un contrat intelligent, l'ID de chaîne est important car il garantit que le contrat est déployé sur le bon réseau et aide à prévenir les attaques par réexécution.
Voyons maintenant comment obtenir l'ID de la chaîne de déploiement du contrat à l'aide de ethers.js.
Conditions préalables
Avant de commencer, assurez-vous que Node.js et npm (Node Package Manager) sont installés sur votre machine. Vous devrez également créer un nouveau projet Node.js et installer ethers.js. Vous pouvez le faire en exécutant les commandes suivantes dans votre terminal :
mkdir ethers-chain-id-example cd ethers-chain-id-example npm init -y npm installer ethers
Connexion à un fournisseur
La première étape consiste à se connecter à un fournisseur Ethereum. Un fournisseur Ethereum est un moyen d’interagir avec le réseau Ethereum. Il existe différents types de fournisseurs, tels qu'Infura, Alchemy ou un nœud Ethereum local. Pour cet exemple, nous utiliserons Infura.
const { éthers } = require('éthers'); // Remplacez par votre propre ID de projet Infura const INFURA_PROJECT_ID = 'your-infura-project-id'; const supplier = new ethers.providers.InfuraProvider('mainnet', INFURA_PROJECT_ID);
Dans le code ci-dessus, nous créons un nouveauFournisseur Infurainstance et connexion au réseau principal Ethereum. Vous devrez remplacer'votre-identifiant-de-projet-infura'avec votre ID de projet Infura réel. Vous pouvez en obtenir un gratuitement en vous inscrivant sur leSite Internet d'Infura.
Obtenir l'ID de la chaîne
Une fois que vous avez un fournisseur, obtenir l’ID de chaîne est assez simple. Vous pouvez utiliser leobtenirRéseauméthode fournie par le fournisseur, qui renvoie unRéseauobjet qui contient des informations sur le réseau, y compris l'ID de la chaîne.
fonction asynchrone getChainId() { const network = wait supplier.getNetwork(); const chainId = réseau.chainId; console.log(`L'ID de chaîne du réseau est : ${chainId}`); renvoie l'ID de chaîne ; } getChainId();
Dans ce code, nous définissons une fonction asynchronegetChainIdqui appelle leobtenirRéseauméthode sur le fournisseur. Nous extrayons ensuite leidentifiant de chaînepropriété du retourRéseauobjet et enregistrez-le sur la console.
Utilisation de l'ID de chaîne dans le déploiement de contrat
Maintenant que vous savez comment obtenir l’ID de chaîne, voyons comment l’utiliser lors du déploiement d’un contrat. Lorsque vous déployez un contrat à l'aide d'ethers.js, vous créez généralement unContratUsineexemple, puis appelez ledéployerméthode dessus. Vous pouvez passer dans unRemplacementsobjet comme paramètre facultatif dudéployerméthode, qui peut inclure laidentifiant de chaîne.
// Supposons que vous ayez un contrat ABI et un bytecode const contractABI = [...] // Votre contrat ABI ici const contractBytecode = '0x...'; // Le bytecode de votre contrat ici const wallet = new ethers.Wallet('your-private-key', supplier); const factory = new ethers.ContractFactory(contractABI, contractBytecode, wallet); fonction asynchrone déployerContract() { const chainId = wait getChainId(); const overrides = { chainId: chainId }; const contract = wait factory.deploy(overrides); console.log('Contrat déployé à l'adresse :', contract.address); } déployerContract();
Dans cet exemple, nous obtenons d'abord l'ID de la chaîne en utilisant legetChainIdfonction que nous avons définie plus tôt. Ensuite, nous créons unRemplacementsobjet avec leidentifiant de chaînepropriété définie sur l’ID de chaîne récupéré. Finalement, nous passons ceciRemplacementss'opposer à ladéployerméthode lors du déploiement du contrat.
Différents produits éthers
Nous proposons une gamme de produits éthers qui peuvent être utiles dans diverses applications. Par exemple,Éther monobutylique d'éthylèneglycol (BCS, EB)est un solvant courant avec de nombreuses utilisations industrielles. Il présente une bonne solubilité et compatibilité avec d’autres substances, ce qui le rend adapté aux formulations de revêtements, d’encres et de produits de nettoyage.
Un autre excellent produit estÉther méthylique de dipropylèneglycol (DPM). Cet éther est connu pour sa faible volatilité et son haut pouvoir de solvabilité. Il est souvent utilisé comme agent de couplage et solvant dans les procédés cosmétiques, pharmaceutiques et industriels.
Et n'oublie pasÉther monobutylique de triéthylèneglycol (TBG, TB). Il possède d'excellentes caractéristiques d'évaporation et est couramment utilisé dans les applications de décapage de peinture, d'impression textile et de nettoyage des métaux.
Conclusion
Et voilà : un guide étape par étape sur la façon d'obtenir l'ID de la chaîne de déploiement du contrat avec ethers.js. C'est un élément important du déploiement correct des contrats intelligents sur le réseau Ethereum. N'oubliez pas de toujours vérifier l'ID de la chaîne pour vous assurer que votre contrat est déployé au bon endroit.
Si vous êtes intéressé par l'un de nos produits éthers, que ce soit pour un usage industriel ou autre, n'hésitez pas à nous contacter pour une discussion sur l'approvisionnement. Nous sommes là pour vous aider à trouver les meilleures solutions pour vos besoins.


Références
- documentation officielle d'ethers.js
- Documentation officielle d'Ethereum
- Documentation officielle d'Infura





