Transaktionsabsturz senden, wie behebt man den "Timeout"-Fehler?

Ich verwende web3, um Transaktionen mit Ethereum im Ropsten-Netzwerk zu senden. Aber ich habe es im Hauptnetzwerk versucht, und ich habe das gleiche Ergebnis.

Ich weiß nicht warum, aber seit ein paar Tagen hat die Transaktionsfunktion nicht funktioniert.

Das ist mein Code:

user1 = web3.eth.coinbase
user2  = 'acount2'


transaction = {'from': user2, 'to':user1, 'data': web3.toHex("test)}

transaction_hash = web3.eth.sendTransaction(transaction)

Das hat funktioniert, aber jetzt habe ich diesen Fehler:timeout: timed out

Wie kann ich das lösen?

Dies ist ein Problem mit Ihrem Ethereum-Knoten. Was ist die Einrichtung? Sollte man auch nicht user2 = web3.eth.accounts[1]?
@TjadenHess, user2ist die Kontoadresse wie 0x.....

Antworten (1)

Höchstwahrscheinlich funktioniert Ihr (Go Ethereum, Geth) Node nicht richtig oder der Computer, auf dem dieser Node läuft, ist so stark belastet, dass er die Anfragen nicht sofort bedienen kann.

  • Überprüfen Sie, ob der Knoten ausgeführt wird, und starten Sie den Knoten neu

  • Überwachen Sie Ihre Systemlast (verfügbarer Arbeitsspeicher, CPU, verwenden Sie top / htop UNIX-Befehle)

  • Starten Sie Ihren Server neu

  • Sehen Sie aus den Knotenprotokollen, dass er dem neuesten Block folgt (Sie können die Blocknummer von testnet.etherscan.io erhalten).

Die empfohlenen Spezifikationen für den Mainnet-Knoten sind 4 GB RAM, 100 GB HD. Ein Testnet-Knoten kann unter 2 GB RAM ausgeführt werden. Stellen Sie sicher, dass Sie eine SSD und keine sich langsam drehende Festplatte haben, da der Knoten eine hohe E/A-Last haben wird.