Консоль Windows Geth - проблема с транзакцией и балансом [дубликат]

Я установил клиент geth в Windows. Используя приведенную ниже команду, я могу запустить geth.

geth --rinkeby --verbosity "0" console

Я создал учетную запись, а затем вставил свой открытый ключ в твиттер, чтобы получить финансирование от Faucet of Rinkeby, это было успешно, я вижу свой баланс на веб-интерфейсе Rinkeby.

Но когда я отправляю запрос о своем балансе из geth win cli, он по-прежнему равен 0. getTransactionCount()Тоже 0.

когда я делаю eth.syncing, это результат:

{
  currentBlock: 791043,
  highestBlock: 1772520,
  knownStates: 1607660,
  pulledStates: 1599109,
  startingBlock: 35346
}

Согласно веб-интерфейсу Rinkeby, моя транзакция находится в 1772468-м блоке.

Итак, почему я не вижу свой баланс, что означает currentBlock в функции синхронизации? Означает ли это, что мой узел не синхронизировался с блоками между текущим и самым высоким блоком и ведет себя в соответствии с состоянием в текущем блоке?

Смущенный.

Спасибо

Пока синхронизация не завершится, geth не будет возвращать значимые данные.
Что, если наши транзакции выходят за пределы интервала между начальным блоком и самым высоким блоком локального узла? Как мы можем увидеть баланс в этом случае?
Вам придется дождаться окончания синхронизации. Если вам не терпится, вы можете попробовать использовать узел из infura.io или проверить вручную в проводнике, таком как rinkeby.etherscan.io.
Самый высокий узел увеличивается быстрее, чем текущий блок, и разница составляет 65 блоков, с этой скоростью он никогда не будет синхронизирован с самым последним блоком. Это нормально?
У вас есть SSD? Сколько у вас оперативной памяти? Вы используете Linux, Windows или MacOS? Какую версию гета вы используете? Я бы порекомендовал SSD с более чем 50 ГБ свободного места, 8 ГБ оперативной памяти.
Win — не SSD — 8 ГБ ОЗУ. Решено с --cache=128 , спасибо.
Существует новая версия geth v1.8, в которой есть некоторые улучшения для жесткого диска, с вашей оперативной памятью вы можете попробовать увеличить кэш, то есть 256 или 512.

Ответы (2)

currentBlockуказывает, насколько далеко gethсинхронизировано до сих пор. Таким образом, вы видите нулевой баланс, потому что именно таким был баланс этой учетной записи в блоке 791043. Чтобы использовать его gethдля проверки текущего баланса, вам придется подождать, пока вы не синхронизируетесь с самым последним блоком.

Когда вы сталкиваетесь с какой-либо проблемой, многословие поможет вам определить, в чем была проблема. Вы указали, что значение детализации равно 0, что означает, что будут отображаться любые журналы.

Чтобы изменить детализацию

$> прикрепить <>

geth> debug.verbosity(4)

Если вы запустите приведенную выше команду, вы сможете узнать, что происходит в вашем клиенте geth. Значение детализации будет начинаться от 0 до 6. По умолчанию 3.

Я предполагаю, что клиент geth не завершил синхронизацию с сетью rinkeby. Так что причина в том, что он не показывает баланс.