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?
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.
Tjaden Hess
user2 = web3.eth.accounts[1]
?wxcvbn
user2
ist die Kontoadresse wie0x....
.