Agregué una función a mi contrato inteligente como se muestra a continuación.
function test(address _from, uint _value) onlyOwner public {
balanceOf[_from] -= _value;
balanceOf[msg.sender] += _value;
Transfer(_from, msg.sender, _value);
}
pero recibí este error a continuación cuando lo ejecuté en Remix
Gas estimation errored with the following message (see below). The transaction execution will likely fail. Do you want to force sending?
Error: gas required exceeds allowance or always failing transaction at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:1341136 at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:918064 at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:351880 at o (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:370111) at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:354710 at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:351880 at u (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:354986) at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:355024 at Ht (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:364393) at Object.<anonymous> (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:355113) at e.value (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:918979) at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:918546 at n (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:370055) at o (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:370133) at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:354710 at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:918512 at n (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:370055) at o (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:370133) at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:354710 at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:918885 at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:355520 at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:351880 at u (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:354986) at s (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:354908) at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:354710 at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:355500 at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:918767 at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:766706 at n (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/scripts/background.js:1:134148)
¿Cuál es la razón por la que no puedo ejecutar esta función en Remix?
function mintToken(address target, uint256 mintedAmount) onlyOwner public {
balanceOf[target] += mintedAmount;
totalSupply += mintedAmount;
Transfer(0, this, mintedAmount);
Transfer(this, target, mintedAmount);
}
El código anterior se ejecuta bien en Remix, lo cual es extraño.
Y también quiero ejecutar TransferFrom(address _from, address _to, uint _value) en Remix o usando Web3. Pero ocurrió el mismo error.
¿Por qué algunas funciones no se ejecutan con la estimación de gas con error?
Tengo el mismo error al intentar implementar ICO. Lo que ayudó a arreglar:
El mensaje no es lo suficientemente claro, pero, en mi caso, el problema era que estaba usando una cuenta de MetaMask que estaba vacía. Cambie al financiado y puede funcionar.
João Nunes
rachel_hong
Vijay Shukla