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

233
Views
Contrato de Ethers.js Fábricas

Estoy tratando de hacer una ContractFactory en ethers.js e implementar el contrato inteligente en la red de prueba de Polygon Mumbai a través de Alchemy.

Tengo un problema con la función de implementación ya que en los documentos no está claro cómo formatear los argumentos.

Como Alchemy docs, tengo que especificar gasLimit y gasPrice , pero también quiero especificar argumentos personalizados para el constructor de mi contrato.

Los errores que me salen:

  • si coloco en la función de implementación solo los parámetros del constructor, dice que no especifiqué los parámetros gasLimit y gasPrice
  • si coloco en la función de implementación los parámetros del constructor y gasLimit y gasPrice tengo un problema con el constructor del contrato inteligente debido al orden de los parámetros.
  • Si solo pongo gasLimit y gasPrice , se implementa correctamente, pero no tengo el contrato inteligente personalizado que quiero, ya que faltan los parámetros del constructor;

este es el fragmento de código que implementa el contrato inteligente:

 const price_unit = "gwei"; const contractFile = await fs.readFileSync('artifacts/contracts/Midly.sol/NFTCollectible.json'); const contract = JSON.parse(contractFile.toString()); const provider = new ethers.providers.AlchemyProvider("maticmum", process.env.ALCHEMY_API_KEY); const wallet = new ethers.Wallet(process.env.WALLET_PRIVATE_KEY, provider); const price = ethers.utils.formatUnits(await provider.getGasPrice(), price_unit); const factory = new ethers.ContractFactory(contract.abi, contract.bytecode, wallet); const deployedContract = await factory.deploy({ gasLimit: 2, gasPrice: ethers.utils.parseUnits(price, price_unit), }, tokenURI, maxQuantity, cost) .then(data => console.log(data)) .catch(error => console.log(error));

Gracias por tu tiempo :)

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Primero debe pasar los argumentos del constructor y el objeto de overrides al final.

 const deployedContract = await factory.deploy(tokenURI, maxQuantity, cost, { gasLimit: 2, gasPrice: ethers.utils.parseUnits(price, price_unit), })

Documentos: https://docs.ethers.io/v5/api/contract/contract-factory/#ContractFactory-deploy

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!