Данные о блокчейне Private Ethereum теряются / исчезают через пару дней - PullRequest
0 голосов
/ 24 мая 2018

Я развертываю личный блокчейн ethereum (geth) на виртуальной машине в Azure.После развертывания моих контрактов Solidity на блокчейне и запуска в него моего приложения NodeJS я могу нормально добавлять данные через веб-интерфейс приложения Loopback Nojjs, и все работает нормально, и я могу видеть добавленные данные, используя API-интерфейс GET.

Однако через 1-2-3 дня (случайным образом) я не могу получить данные, которые я добавил, через свой GET API, но все еще могу добавить новые данные, которые подтверждают, что Geth работает нормально и не работалпрервано.

Я запускаю geth, используя:

geth --datadir ./myDataDir --rpc --networkid 1441 console 2>> myEth.log

myEth.log ничего не показывает, журналы nodejs также чисты.

eth.syncing показываетfalse означает, что сеть синхронизируется.

размер папки myDataDir все еще увеличивается, поэтому логически данные должны быть где-то там, но они не отображаются.

1 Ответ

0 голосов
/ 21 августа 2018

Это не приватный блокчейн!

--networkid 1441

Это говорит только о том, что вы общаетесь с клиентами, которые также запускают сеть с идентификатором 1441. Это может быть маловероятно, но если кто-то другой запускает сеть с идентификатором1441, этот узел будет нормально подключаться к вашему узлу.И в случае, если другая сеть с таким же идентификатором имеет более длинную (более «тяжелую») цепочку, это перезаписывает вашу локальную цепочку.

Чтобы избежать этого, попробуйте использовать более произвольный идентификатор сети, возможно, 7-9 цифр.и отключите обнаружение с помощью

 --nodiscovery

или просто используйте предустановку --dev.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...