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

155
Vistas
la llamada de contrato se quedó sin gasolina e hizo que la transacción revirtiera HardHat

Estoy tratando de probar la solidez del contrato inteligente ^0.8.0. Y recibo un mensaje de error de error

Aquí hay parte del código Solidity:

 receive () external payable { require (msg.value > 0, "Empty transact"); require (saleStart + 48 days > block.timestamp, "ICO is over"); require (msg.value / 1000000000000000000 % 1 == 0, "Fractional numbers are not allowed"); if (saleStart + 3 days > block.timestamp) { addToBalance(msg.sender, msg.value, 1); } else if (saleStart + 34 days > block.timestamp) { addToBalance(msg.sender, msg.value, 2); } else if (saleStart + 48 days > block.timestamp ) { addToBalance(msg.sender, msg.value, 3); } }

y JS HardHat

 const { expect } = require("chai"); const { ethers, waffle } = require("hardhat"); beforeEach(async function(){ [owner, acc1, acc2, acc3 ] = await ethers.getSigners() const ICO = await ethers.getContractFactory("ICO", owner) ico = await ICO.deploy() await ico.deployed() }) it("contract receive ether", async function(){ const tx = await ico.connect(acc1).pay(ico.address, { value : 100000, gasLimit: 30000000 }) await tx.wait() const owner_balance = await provider.getBalance(owner.address) const acc1_balance = await provider.getBalance(acc1.address); console.log(owner_balance) console.log(acc1_balance) })

También traté de usar la función receive() sin ningún código dentro y funciona. Parece un problema. Cambio alguna información en Blockchane, y requiere gas. Pero también probé la función receive() con código dentro de Rinkeby testnet y funciona. ¿Cómo resolver el problema con el gas?

about 4 years ago · Juan Pablo Isaza
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