У меня проблема с Geth, я хочу скомпилировать и развернуть смарт-контракт, и для этого я добавил эфир в свой кошелек. Мы можем проверить сделку здесь: https://etherscan.io/tx/0x0b3247c2c1d1f26411486ad3ee4fd47e2a8b71de56af0b0fe6759586dd18f6b5, где мы можем увидеть транзакция находится в 4 679731 блоке
Здесь мы можем проверить количество эфира в кошельке: https://etherscan.io/addressb48c0870a6e06e06e4e06e6e06e6e06e5 а>, что составляет 0,075 эфира.
Потом,
Я создал виртуальную машину с ванильным Ubuntu, установил geth (v1.7.0-stable-6c6c7b2a) и попытался выполнить синхронизацию с 29.10.2017 по 20.12.2017. Я запускаю geth с помощью: geth console
В своем исследовании я нашел две команды, которые могут определять ход синхронизации:
var sync = web3.eth.syncing;sync;
давать :
{currentBlock: 1144835, highBlock: 1720228, knownStates: 33418, pullStates: 25707, startBlock: 1144067}
eth.getBlock("latest").number
давать :
0
Я использовал следующую команду, чтобы проверить, сколько эфиров у учетной записи:
web3.fromWei(eth.getBalance("0x704e2b488674aFa69069A165D3C8a80A27C30D6f"), "ether")
давать :
0
Итак, через два месяца я не синхронизируюсь, и мой гет не знает, сколько эфиров у меня на аккаунте. У меня, по-видимому, есть синхронизация с блоком 1 144 835, а транзакция находится в блоке 4 679 731, так что я думаю, что это нормально, но через два месяца? Нужно ли мне ждать 8 месяцев, чтобы начать пользоваться Geth? Это неприемлемо.
Итак, 29.12.2017 я построил вторую виртуальную машину с той же ванильной Ubuntu, установил geth (1.7.3-stable-4bb3c89d) и попытался выполнить синхронизацию. Отличие от первого: я запускаю с быстрым режимом синхронизации: geth --fast --cache = 1024 console.
Теперь команды
var sync = web3.eth.syncing;sync;
давать :
{ currentBlock: 3872910, highestBlock: 4884396, knownStates: 3180, pulledStates: 2379, startingBlock: 3865878 }
eth.getBlock("latest").number
давать :
0
и
web3.fromWei(eth.getBalance("0x704e2b488674aFa69069A165D3C8a80A27C30D6f"), "ether")
давать :
0
Таким образом, за 12 дней у меня было в 4 раза больше синхронизации, но за последние 4 дня у меня появилось сообщение: WARN [01-10 | 01: 01: 40] Количество откатных заголовков = 2048 header = 3894230-> 3892182 fast = 3872910 -> 3872910 block = 0-> 0 каждый раз и больше не синхронизируется.
Итак, я попробовал в третий раз на своем персональном компьютере под управлением Windows 8.1 установить geth (1.7.3-stable-4bb3c89d) и попытаться выполнить синхронизацию с 01-07-2018 с помощью командной строки: geth.exe --syncmode "full" консоль
Теперь команды
var sync = web3.eth.syncing;sync;
давать :
{currentBlock: 4881711, highBlock: 4884507, knownStates: 34771, pullStates: 26470, startBlock: 4880214}
eth.getBlock("latest").number
давать :
0
и
web3.fromWei(eth.getBalance("0x704e2b488674aFa69069A165D3C8a80A27C30D6f"), "ether")
давать :
0
Итак, я достиг целевого блока (4 679 731) за один день, но geth всегда сообщает, что в моем аккаунте 0 эфиров?
У меня вопрос: как мне выполнить синхронизацию, чтобы начать работу со SmartContract?
Когда я ищу в Интернете, единственный ответ, который я могу прочитать, - это ждать. Я больше не хочу читать этот ответ или рассказывать мне реальный метод, который может показать мне реальный прогресс.