Я хочу подчеркнуть, что BIP32 не является окончательным еще, поэтому, пожалуйста, не отпускайте код, который реализует его.
Если есть необходимость внести изменения еще, я очень хочу, чтобы избежать несколько различных ревизий в дикой природе.
Я выложу тестовых векторов в документе BIP, как только я чувствую себя уверенно вещей не изменится больше.
Что таймфрейм по этому поводу? Что такое критерии мы используем, чтобы сказать, что это финал? Я спрашиваю, потому что я ударился новый формат бумажник довольно трудно, и я понимаю, что вы правы - если есть какой-то шанс BIP32 изменится, то это может вызвать путаницу для любых пользователей, которые уже созданы бумажники со старыми ,
Связанный: Я на самом деле столкнулся с этим в моих первых выпусках пары Оружейного, где я был до сих пор тонкой настройки алгоритма бумажника (это было 12+ месяцев назад). я создал "Кошелек ID" строки, которые являются 6 байт длиной, используемые для различения бумажники. Проблема заключалась в том, различные версии бумажника с использованием тех же семян производили тот же идентификатор, так как он был основан только на открытом ключе корня. Позже я решил, что это должно быть как на основе открытого ключа корневого
а также первый выведенный ключ (в данном случае, это будет корневой открытый ключ, М и М / 0 открытый ключ). Таким образом, идентификатор, кодирующий корень
а также выстроенная цепочка алгоритм одновременно. Кажется, мелочь, но как разработчик, играя с различными версиями бумажника, он сделал это очень легко определить, был ли бумажник генерируется с тем же алгоритмом цепным вы ожидаете.
Кстати, для справки, моя реализация BIP 32 в C ++ с использованием Crypto ++ является
Вот. Скорее всего, это функция ChildKeyDeriv, которая является ядром BIP32. Там какие-то тестовые векторы там тоже, но я не буду делать это слишком очевидно, как их найти, так как мы не продвигаем его еще