Infura no transmite mis transacciones

Estoy usando Infura con mainnet y web3py para interactuar con contratos inteligentes y enviar transacciones. La semana pasada este mismo código funcionó bien, pero hoy, tratando de enviar la transacción para el despliegue del contrato, me sale este mensaje de error, en el método waitForTransactionReceipt:

File "pruebaPagos.py", line 303, in <module>
tempsensorContract, w3, nonce = construirContrato()
File "pruebaPagos.py", line 139, in construirContrato
tx_receipt = w3.eth.waitForTransactionReceipt(tx)
File "/root/Proyectos/bchain/rafa-py3/local/lib/python3.5/site-packages/web3/eth.py", line 223, in waitForTransactionReceipt
return wait_for_transaction_receipt(self.web3, transaction_hash, timeout)
File "/root/Proyectos/bchain/rafa-py3/local/lib/python3.5/site-packages/web3/utils/transactions.py", line 70, in wait_for_transaction_receipt
_timeout.sleep(poll_latency)
File "/root/Proyectos/bchain/rafa-py3/local/lib/python3.5/site-packages/web3/utils/threads.py", line 68, in sleep
self.check()
File "/root/Proyectos/bchain/rafa-py3/local/lib/python3.5/site-packages/web3/utils/threads.py", line 61, in check
raise self
web3.utils.threads.Timeout: 120 seconds

A continuación se muestra mi código de Python que usa web3 para la implementación del contrato. He intentado poner diferentes precios de gasolina, pero tampoco funciona. ¿Alguien sabe lo que está pasando aquí? ¿Es esto un problema de Infura?

contract_source_code = '''
   #my solidity source code
'''

compiled_sol = compile_source(contract_source_code)
contract_interface = compiled_sol['<stdin>:tempSensor']

#connection to infura
w3 = Web3(HTTPProvider('https://mainnet.infura.io/MY-API-KEY'))


from web3.middleware import geth_poa_middleware

w3.middleware_stack.inject(geth_poa_middleware, layer=0)

count =  w3.eth.getTransactionCount(account,"pending") 

gasPrice = w3.toWei('3.5','gwei')

#creating the contract and its transaction for the deployment
TempSensor = w3.eth.contract(abi=contract_interface['abi'], bytecode=contract_interface['bin'])
transaction = TempSensor.constructor().buildTransaction({
        'gas': w3.toHex(850000),
        'gasPrice': w3.toHex(gasPrice),
        'nonce': w3.toHex(count),
    })

#sign the transaction and send
key = 'PRIVATE-KEY'
signed = w3.eth.account.signTransaction(transaction, key)
tx = w3.eth.sendRawTransaction(Web3.toHex(signed.rawTransaction))
print('Transaction for the deployment:')
print(Web3.toHex(tx))

tx_receipt = w3.eth.waitForTransactionReceipt(tx)

tempsensorContract = w3.eth.contract(
    address = tx_receipt.contractAddress,
    abi = contract_interface['abi'],
)

En etherscan.io ni siquiera puede encontrar el hash de mi transacción. Dice:

  • Lo sentimos, no podemos localizar este hash de transacción

Respuestas (1)

El precio actual del gas en la red es de ~60 gwei. Es probable que su transacción se transmita, pero su secuencia de comandos se agota mientras espera que se extraiga, ya que no se extrae en los próximos 120 segundos debido a un bajo precio de la gasolina.

De manera similar, etherscan a menudo no indexa transacciones que están muy por debajo del precio del gas de red en este momento.

Pero no sé por qué la semana pasada, cada transacción que hice con menos de 10 gwei en gasprice se transmitió en menos de un minuto. Y sé que no lo es.
El precio del gas fue más bajo la semana pasada.
Gracias, ¿hay algún sitio donde pueda ver el precio actual de la gasolina y el precio de la gasolina de las últimas semanas?
Puede ver el actual en ethgasstation.info , no estoy seguro acerca de las fuentes históricas