У меня есть приложение, в котором я создаю кошелек HD с кодовой фразой и сохраняю общедоступный главный ключ в базе данных для пользователя.Соответствие KeyPath в приложении с Wallet32 Keypath для кошельков Bip44
Затем я хочу, чтобы пользователь мог создать резервную копию кошелька в свой кошелек, в этом случае я использую Wallet32. Восстановить учетную запись в Wallet32, который использует ключ путь м/44 «/ 0»/0'/
На моей стороне приложения, я создаю ключевой ресурс, как так (в C#):
KeyPath newKeyPath = new KeyPath("44/0/0/0/0" + nextDerivation);
var childKey = pubkey.Derive(newKeyPath);
Следующая переменнаяDerivsation просто увеличивается с каждой покупкой. Когда производный открытый ключ создается со стороны приложения, он не совпадает с производным открытым ключом в wallet32. Итак, если платеж производится через приложение, Wallet32 не подбирает его.
Я использую библиотеку C# NBitcoin. Когда я пытаюсь добавить апостроф в строке так, как ключевого ресурса:
KeyPath newKeyPath = new KeyPath("44'/0'/0'/0/0" + nextDerivation);
var childKey = pubkey.Derive(newKeyPath);
Тогда я получаю ошибку «неверный формат ввода». Я не уверен, нужны ли эти апострофы или нет, но когда я ввожу тот же путь деривации в генератор Bip32, я могу создать те же открытые ключи. Я могу отправить платеж на производный адрес, и wallet32 подбирает его.
Может ли кто-нибудь указать мне в правильном направлении на то, что мне нужно использовать для KeyPath в библиотеке NBitcoin, чтобы получить те же результаты?
Я право не читать: https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki Реализация этого, вы просто должны сделать Update-пакет, чтобы сделать оно работает –