Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

163
Visualizações
ejecución de casco con parámetros

Necesito ejecutar un script ts en particular usando hardhat desde la línea de comando pero necesito especificar parámetros... Similar a esto:

 npx hardhat run --network rinkeby scripts/task-executor.ts param1 param2

Donde --network rinkeby es el parámetro para la ejecución del casco
Y param1 y param2 son parámetros para el script task-executor.ts .
No pude encontrar ninguna publicación sobre este problema y no puedo hacer que funcione.

También intenté definir una tarea de hardhat y agregué esos parámetros, pero si trato de ejecutarla, obtengo:

 Error HH9: Error while loading Hardhat's configuration. You probably tried to import the "hardhat" module from your config or a file imported from it. This is not possible, as Hardhat can't be initialized while its config is being defined.

Porque necesito importar hre o ethers desde hardhat en esa tarea en particular.

¿Alguien sabe cómo lograr lo que necesito?

¡¡Muchas gracias!!

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Según Hardhat :

Los scripts de Hardhat son útiles para cosas simples que no toman argumentos del usuario y para la integración con herramientas externas que no son adecuadas para la CLI de Hardhat, como un depurador de Node.js.

Para los scripts que requieren parámetros, debe usar Hardhat Tasks .

Puede codificar la tarea en un archivo diferente a hardhat.config.ts . Aquí hay una tarea de ejemplo que usa parámetros posicionales en el archivo sampleTask.ts :

 import { task } from "hardhat/config"; task("sampleTask", "A sample task with params") .addPositionalParam("param1") .addPositionalParam("param2") .setAction(async (taskArgs) => { console.log(taskArgs); });

Recuerde importarlo dentro de hardhat.config.ts :

 import "./tasks/sampleTask";

Luego ejecútalo con:

 npx hardhat sampleTask hello world

Y debería imprimir:

 { param1: 'hello', param2: 'world' }

Puede leer más sobre los parámetros con nombre, posicionales y opcionales en las tareas aquí .

Si necesita usar hre o ethers , puede obtener hre del segundo parámetro de la función setAction :

 task("sampleTask", "A sample task with params") .addPositionalParam("param1") .addPositionalParam("param2") .setAction(async (taskArgs, hre) => { const ethers = hre.ethers; });
about 4 years ago · Juan Pablo Isaza Relatório

0

Por lo general, funciona así:

 const hre = require('hardhat'); const { ethers } = hre;
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda