Почему geth всегда возвращает 0 баланс?

Я установил geth на удаленный сервер (Ubuntu 14.04) и создал учетную запись. Я перевел 0.01 eth на счет. С моей локальной машины (OS X) я могу правильно просматривать транзакцию и баланс счета с помощью web3.

Однако, если я захожу на сервер и пытаюсь получить баланс, он возвращает 0. На самом деле, пытаясь проверить баланс или получить информацию о чем-либо, возвращается 0. Это почти как мой узел не подключен, он говорит, что у меня есть 8 сверстников (и я их перечислил, и они выглядят законными).

Напомним, что выполнение следующего на моем домашнем компьютере возвращает «0,01»:

web3.fromWei(web3.eth.getBalance('0x7cacf18f931259c30a7194fa96ab3a44c38b3535'),'ether').toString(10)

На момент написания этой статьи это правильно .

Однако выполнение одной и той же команды или даже web3.eth.getBalance(web3.eth.coinbase)всегда возвращает 0 на моем сервере. На самом деле, попытка получить информацию о чем-либо в публичной цепочке не удалась (включая контракты).

Я пытаюсь развернуть простое децентрализованное приложение, но работа узла сводит меня с ума!

Для справки: у меня установлен ethereum/geth v. 1.3.3. Я также пробовал 1.4-нестабильную. Я пробовал разные способы запуска geth и понятия не имею, почему он не может получить информацию из общедоступной сети.

Ответы (2)

Похоже, гет еще не синхронизирован.

Введите это в консоль geth:

eth.getBlock("latest").number

На момент написания этого поста вы должны получить 894332 или выше.

Я получаю правильный вывод на моей консоли geth.

> web3.fromWei(web3.eth.getBalance('0x7cacf18f931259c30a7194fa96ab3a44c38b3535'),'ether').toString(10)
"0.01"
Хорошо, это может быть проблемой. Сейчас последний блок253737
Определенно проблема. Я проверил и вижу, что ваша транзакция была в блоке 894138. Поэтому вам нужен последний блок большего размера, чем этот, прежде чем он появится. Пожалуйста, отметьте вопрос как ответ, если это удовлетворяет вопрос.
Спасибо, имеет смысл. Не знал, что синхронизация занимает так много времени. Я отмечу это правильно после 5-минутного периода ожидания.
Если синхронизация идет медленно, запустите geth с параметром --fast. (Это ускорит синхронизацию, если у вас установлена ​​последняя версия geth.)

Я подтвердил, что ваши средства действительно находятся на вашем счету:

https://www.etherchain.org/account/0x7cacf18f931259c30a7194fa96ab3a44c38b3535#txreceived

Это определенно ваша цепочка, которая еще не обновлена. Рекомендация linagee поможет вам в этом.