Привет, ребята, я могу отсутствовать то важное, но я уверен, что вы, ребята, меня поправят достаточно скоро.
HD бумажники позволяют пользователю меньше беспокоиться о создании новой резервной копии адресов изменения, так как адреса изменения все детерминировано generatable от семени. Это позволяет мне думать о восстановлении из резервной копии HD. Скажем, у вас есть только семя, и вы потеряли все остальное. Ваш кошелек должен знать, какие addressess являются вашими, когда он загружает blockchain, он должен показать вам свой баланс на основе того, сколько адресов на blockchain имеют расходуемого монеты и принадлежат вам. Но вот вопрос, насколько глубоко в дереве generatable адреса он должен идти, если смотреть? Как он может знать заранее (на восстановление), насколько глубоко в дереве вы пошли в создании адреса для себя.
Например, рассмотрим получение адреса, как вы загрузите blockchain, вы спросите себя "это мой адрес"? Нет. Это мой первый адрес изменения? Нет. Это мой второй адрес изменения? Нет. ... Когда вы остановиться и сказать, "хорошо, этот адрес не в моем дереве адресов"?
Заранее спасибо за понимание!
Честно говоря, я понятия не имею, как HD бумажники обрабатывать восстановление из семян, так что не все, что я говорю в посте чисто как предположение или "как я думаю, я бы, вероятно, сделать это, если бы я писал программное обеспечение",
Путь, кажется, вы должны смотреть на это, кажется, в обратном направлении. Если я правильно понимаю, вы при условии, что вы начинаете с первым адресом в первом блоке в blockchain и проверить его на все возможный адрес, которые могут быть сгенерированы из семени. Затем вы переходите к следующему адресу в blockchain и повторить процесс, и продолжать до тех пор, пока не загружена / обрабатывается весь blockchain.
Если бы я писал программу, я думаю, что я, вероятно, обрабатывать весь blockchain как если бы у меня не было каких-либо адреса вообще, создание полного списка UTXO.
Далее, я бы собрать список всех уникальных адресов в списке UTXO.
Тогда, я бы генерировать первый кандидат адрес из моего семени, и проверить, если адрес существует в списке UTXO. Если это так, то я нашел адрес, который имеет некоторые биткойны, связанные с ним.
Я бы продолжать генерировать каждый возможный адрес от семян и проверить "существует в списке UTXO" пока я не столкнулся с каким-то предопределенным разрывом без каких-либо остатков (возможно, 5000 адресов?).
Так что, если я произвожу от семени "разрыв" количество последовательных кандидатов адресов не найдя ни одного из них в UTXO, я полагаю, я нашел все адреса с балансом, и я бы сделал.
Я мог бы спросить пользователя, если итоговый баланс представляется правильным. Если они отвечают "да", То бумажник полностью восстанавливается. Если они отвечают "нет", То я мог бы продолжать искать больший зазор.