Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

164
Views
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 answers
Answer question

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 Report

0

Por lo general, funciona así:

 const hre = require('hardhat'); const { ethers } = hre;
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!