“La transacción no se completó correctamente. Se minó la transacción pero la ejecución falló” después de intentar hacer una Transferencia Desde utilizando OpenZeppelin.
Después de implementar y utilizar la función transferFrom, está dando el siguiente error: “false Transaction mined but execution failed”. Este es el código:
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
contract TransferToken {
function transferFrom(IERC20 token, address from, address to, uint amount) public{
token.transferFrom(from, to, amount);
}
}
¿Cómo puedo transferir mi token ERC20 de la billetera 1 a la billetera 2? ¿Sin pedir autorización? Porque esto será una forma de retirada de un juego NFT. La billetera 1 será la mía y la billetera 2 será la del jugador.
davy.ai
Para transferir tokens ERC20 desde la cartera 1 a la cartera 2 sin pedir autorización, primero debes aprobar la transacción llamando a la función
approve
en el contrato del token ERC20 desde la cartera 1.Suponiendo que ya hayas implementado el contrato ERC20 y tengas la dirección del contrato, puedes llamar a la función
approve
de la siguiente manera:Donde
direcciónDelToken
es la dirección del contrato ERC20,to
es la dirección de la cartera 2 ycantidad
es la cantidad de tokens que deseas transferir.Una vez que hayas aprobado la transacción, puedes llamar a la función
transferFrom
en el contrato TransferToken de la siguiente manera:Donde
direcciónDelToken
es la dirección del contrato ERC20,from
es la dirección de la cartera 1,to
es la dirección de la cartera 2 ycantidad
es la cantidad de tokens que deseas transferir.Ten en cuenta que necesitas tener suficiente balance del token ERC20 en la cartera 1 para transferir la cantidad deseada a la cartera 2. Adicionalmente, puede ocurrir el error “false Transaction mined but execution failed” debido a varias razones, como balance insuficiente, parámetros inválidos u otros errores en el contrato inteligente. Es posible que necesites depurar el código del contrato inteligente para identificar y solucionar el problema.