Javascript

如何在安全帽中獲取chainId/網路名稱/網路ID等?

  • December 16, 2021

我正在尋找我正在執行腳本的鏈/網路的 ID hardhat。如何獲取名稱和 ID?

有幾種方法可以獲取網路/鏈名稱/id。我們將假設你在一個script你想執行的地方,或者一個test. 執行這些時,您必須有一個hardhat.config.tsor hardhat.config.js,並且您必須在“安全帽”中執行腳本。例如:npx hardhat run scripts/your_script_here.ts

import hre from 'hardhat'
const networkName = hre.network.name
const chainId = hre.network.config.chainId

這意味著,您需要一個看起來像這樣的 hardhat.config:


const config: HardhatUserConfig = {
   defaultNetwork: 'hardhat',
   networks: {
       hardhat: {
           chainId: 31337,
           accounts: [process.env.PRIVATE_KEY!],
       },

您還可以創建一個文件,其中包含您的網路/鏈名稱和 ID 之間的映射。

或者,您可以將hardhat-deploy與以下內容一起使用:

import { HardhatRuntimeEnvironment } from 'hardhat/types'
import { DeployFunction } from 'hardhat-deploy/types'
const deployScript: DeployFunction = async function (
 hre: HardhatRuntimeEnvironment
) {
 const { getChainId } = hre
 const chainId = await getChainId()

結合網路映射。

引用自:https://ethereum.stackexchange.com/questions/112946