Post
Topic
Board Альтернативные криптовалюты
Merits 13 from 3 users
Re: Кошелек Daedalus.
by
naska21
on 28/12/2020, 09:01:42 UTC
⭐ Merited by Ratimov (6) ,Captain-Cryptory (5) ,Daltonik (2)
Столкнулся с новой проблемой. Стала отваливаться нода. Сначала теряет  соединение с сетью, потом происходит проверка блокчейна и после того как дойдет до 99% пытается соединиться опять и после этого краш. Посмотрел в лог пишет fatalErrorMessage = "fromCompactAddress: Impossible: DecoderErrorDeserilizationFailure" и дальше какая-то хрень. Перезапуск кошелька не помагает. Есть ли выход из этого?

Выход из всего можно найти.

Когда нода останавливается нормальным путем, то она сначала завершает все I/O операции, а потом обрывает соединения. Этим достигается целостность записей в ее базе данных. Если же   связь с сетью рвется в момент совершения I/O операций, то возможно искажение этих данных. И тогда при повторной попытке запуска ноды возникает ошибка десерилизации данных.

Если у вас возникла такая ошибка то рецепт, чтобы она вас больше не торкнула , следующий:

1) Удаляете полностью папку Daedalus Mainnet. (Но сначала убедитесь, что вы знаете свою SEED фрвзу).

2) Создаете новую папку Daedalus Mainnet в той же директории, где была старая папка.

3) Запускаете Daedalus. Он вам предложит восстановить ваши кошельки. Восстанавливаете через SEED фразу Daedalus или путем подключения аппаратника , если используется  именно такой тип кошелька. Начнется синхронизация с сетью. Но вы не должны ждать пока она полностью завершится. Закройте  Daedalus когда процент синхронизации достигнет какого-то значения икс, например 5 или 8

4) Сделайте бэкап папки Daedalus Mainnet.

5) Запустите опять Daedalus и опять ждите пока синхронизации достигнет следующего  значения Х .

6) Скопируйте папку Daedalus Mainnet и   замените свой старый  бэкап новым.

7) Повторяете пункты 5 и 6 до тех пор пока сихронизация не будет 100%.

 Если на каком-то из шагов нода сама оборвет соединение таким образом, что ошибка десериализации возобновится, тогда  удаляете папку Daedalus Mainnet и на ее место  ставите свой бэкап.  Нода запустится уже не с нуля, а  с того места, который соответствует этому бэкапу.

Мораль всей басни такова - иметь под рукой бэкап рабочей  папки Daedalus Mainnet, чтобы в случае отказа запуска ноды из-за ошибки десериализации, подсунуть ей этот бэкап.