Как повторно синхронизировать c-lightning с блокчейном основной сети?

Я играю с реализацией молнии из https://github.com/ElementsProject/lightning и после следующие шаги: клиент не может перечислить средства, которые я внес на сгенерированный адрес из внутреннего кошелька

  1. Я установил bitcoind-0.16 и полностью синхронизировал блокчейн mainnet
  2. Я установил c-lightning и синхронизировался с локальным полным узлом
  3. Я создал новый адрес с ./lightning-cli newaddr
  4. Я профинансировал этот адрес из своего кошелька Electrum (не из кошелька локального узла) и увидел входящую транзакцию с ./lightning-cli listfunds
  5. Потом случайно удалил файл .lightning/lightningd.sqlite3
  6. После перезапуска lightningd воссоздал файл, но теперь ./lightning-cli listfunds показывает пустые результаты, но средства должны быть там, потому что транзакция финансирования видна в цепочке блоков.

Я исследовал ./lightning-cli dev-listaddrs, который показывает все адреса внутреннего кошелька и мой адрес финансирования. Поэтому я думаю, что мне нужно повторно синхронизировать молнию с блокчейном биткойнов, но ./lightning-cli dev-rescan-outputs успеха не имел.

Что я могу сделать, чтобы снова увидеть и потратить средства? Или как я могу получить начальный / закрытый ключ внутреннего (молниеносного) кошелька?


person brischniz    schedule 04.03.2018    source источник


Ответы (1)


Идеальный ответ был дан здесь от участника c-lightning: https://github.com/ElementsProject/lightning/issues/1170

Если ссылка умирает:

Что ж, короткий ответ: не удаляйте db, это приведет к потере средств, точно так же, как удаление wallet.dat в bitcoind.

Длинный ответ: используйте newaddr для восстановления всех адресов, которые у вас были (можно называть его несколько раз слишком большим). Затем остановите lightningd, откройте lightningd.sqlite3 и скажите ему сканировать из более раннего блока:

sqlite3 $ HOME / .lightning / lightningd.sqlite3 UPDATE vars SET val = 500000 WHERE name = 'last_processed_block';

Затем перезапустите lightningd, и он должен начать сканирование блоков с высоты 500'000 (что займет некоторое время).

Обратите внимание, что это работает только до тех пор, пока у вас не открыты каналы, поскольку в этом случае вы больше не являетесь единственным владельцем средств. Так что никогда не удаляйте БД!

person brischniz    schedule 05.03.2018
comment
Что ж, каков ответ? - person Michael Hampton; 05.03.2018
comment
@MichaelHampton вы перешли по ссылке? - person brischniz; 07.03.2018
comment
В Stack Overflow ответы должны быть автономными, даже если ссылка умирает или кто-то редактирует ее. - person Michael Hampton; 07.03.2018