Сбой отправки транзакции, как устранить ошибку «тайм-аут»?

Я использую web3 для отправки транзакции с Ethereum в сети ropsten. Но я попытался в основной сети, и у меня тот же результат.

Я не знаю, почему, но с тех пор, как несколько дней функция отправки транзакции не работала.

Это мой код:

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


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

transaction_hash = web3.eth.sendTransaction(transaction)

Это сработало, но теперь у меня есть эта ошибка:timeout: timed out

Как я могу решить эту проблему?

Это проблема с вашим узлом Ethereum. Какова установка? Тоже не должен user2 = web3.eth.accounts[1]?
@TjadenHess, user2это адрес учетной записи, например 0x.....

Ответы (1)

Скорее всего, ваш узел (Go Ethereum, geth) неисправен или компьютер, на котором запущен этот узел, находится в таком напряжении, что не может оперативно обслуживать запросы.

  • Убедитесь, что нода работает, перезапустите ноду

  • Контролируйте загрузку вашей системы (доступная память, ЦП, используйте команды top/htop UNIX)

  • Перезагрузите сервер

  • Посмотрите в журналах узла, что он следует за последним блоком (вы можете получить номер блока из testnet.etherscan.io)

Рекомендуемые характеристики узла основной сети: 4 ГБ ОЗУ, 100 ГБ жесткого диска. Узел тестовой сети может работать под 2 ГБ ОЗУ. Убедитесь, что у вас есть SSD, а не медленно вращающийся жесткий диск, так как узел будет иметь высокую нагрузку ввода-вывода.