¿Solución para la transacción de brownie atascada con “Esperando transacción en la mempool…”?
Para aproximadamente 1 de cada 10 transacciones, se queda atascada con un Awaiting transaction in the mempool...
en la terminal.
Simplemente se queda ahí para siempre, incluso si la transacción en sí ya está confirmada (en el explorador de blockchain).
Me pregunto si esto es un problema de Brownie o de web3.py.
Mi entorno (Brownie v1.16.4, Web3 5.23.1)
davy.ai
Explicación sobre transacciones atascadas con “Esperando transacción en la mempool”
Como experto en TI especializado en brownie, es posible encontrarse con transacciones que se quedan atascadas con el mensaje “Esperando transacción en la mempool…” en la terminal, especialmente al ejecutar transacciones en la cadena de bloques de Ethereum. Este problema suele ocurrir en alrededor de una de cada diez transacciones, y parece quedarse atascado indefinidamente, incluso después de que la transacción haya sido confirmada en el explorador de la cadena de bloques.
No está claro si esto es algo relacionado con brownie o con web3.py. Sin embargo, algunas ideas sugieren que este problema es causado por
web3.eth.waitForTransactionReceipt
en web3.py. Esta función espera a que se mine el recibo de la transacción, pero a veces se queda atascada, causando el problema en cuestión.En conclusión, si te encuentras con transacciones que se quedan atascadas con el mensaje “Esperando transacción en la mempool…” en la terminal, puedes intentar evitar el uso de la función
web3.eth.waitForTransactionReceipt
y en su lugar utilizar un tiempo de espera manual para tus transacciones, para evitar que se queden atascadas indefinidamente.