¿Cómo puedo configurar gasPrice en una interacción de contrato usando ethers.js? Estoy tratando de anular gasPrice
el código a continuación:
let txPromise = contract.populateTransaction.runAdventureVRF(0, false, { gasPrice: 800000 })
walletSigner.sendTransaction(txPromise)
y estoy recibiendo el error transaction underpriced
. Si trato de iniciar sesión en txPromise.overrides, no está definido, lo que me hace pensar que el precio del gas nunca se establece.
documentos
código adicional
const provider = new ethers.providers.AlchemyProvider('matic', process.env.ALCHEMY_API_KEY)
const wallet = new ethers.Wallet(process.env.PK)
const abi = '[{"inputs":[{"internalType":"uint256","name":"_teamId","type":"uint256"},{"internalType":"bool","name":"_energy","type":"bool"}],"name":"runAdventureVRF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]'
const contract = new ethers.Contract(address, abi, provider);
let walletSigner = wallet.connect(provider)
Solución del problema
One solution is to add the gas price as an override to your transaction:
walletSigner.sendTransaction(txPromise, {gasPrice: ethers.utils.parseUnits('100', 'gwei'), gasLimit: 1000000});
Esta es la única solución que pude encontrar ya getGasPrice()
que estimateGas()
devolvía una matriz json vacía. No sé si tiene que ver con el proveedor (alquimia) o por qué están fallando.
La sintaxis específica para anular el precio del gas está aquí:
Los éteres anulan el precio del gas de transacción manualmente
También está en los siguientes documentos de Ethers, pero no tan claro (si no conoce la sintaxis):
Llamadas de función de contrato de éteres
En el momento de esta publicación, el valor de gas predeterminado de todas mis transacciones es de 1,5 gwei, que no es lo suficientemente cerca en la red matic. Esto también colgará la transacción indefinidamente hasta que envíe una nueva transacción con el mismo valor de nonce. Incluso si resuelve su problema de gas, hasta que se ocupe de la transacción colgada, otras transacciones se acumularán detrás de ella.
No hay comentarios:
Publicar un comentario