Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

232
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda