Passender KeyPath in der Anwendung mit Wallet32 Keypath für Bip44 Wallets

Ich habe eine Anwendung, in der ich eine HD-Wallet mit einer Passphrase erstelle und den öffentlichen Hauptschlüssel für den Benutzer in der Datenbank speichere.

Dann möchte ich, dass der Benutzer die Brieftasche in seiner eigenen Brieftasche sichern kann, in diesem Fall verwende ich Wallet32. Ich stelle das Konto in Wallet32 wieder her, das einen Schlüsselpfad von m/44'/0'/0'/ verwendet.

Auf meiner Anwendungsseite erstelle ich den Schlüsselpfad wie folgt (in c#):

KeyPath newKeyPath = new KeyPath("44/0/0/0/0" + nextDerivation);
var childKey = pubkey.Derive(newKeyPath);

Die nextDerivsation-Variable wird einfach mit jedem Kauf erhöht. Wenn der abgeleitete öffentliche Schlüssel auf der Anwendungsseite erstellt wird, stimmt er nicht mit einem abgeleiteten öffentlichen Schlüssel in Wallet32 überein. Wenn also eine Zahlung über die Anwendung erfolgt, nimmt Wallet32 sie nicht entgegen.

Ich verwende die C# NBitcoin-Bibliothek. Wenn ich versuche, die Apostrophe in der keyPath-Zeichenfolge wie folgt hinzuzufügen:

KeyPath newKeyPath = new KeyPath("44'/0'/0'/0/0" + nextDerivation);
var childKey = pubkey.Derive(newKeyPath);

Dann bekomme ich die Fehlermeldung "Ungültiges Eingabeformat". Ich bin mir nicht sicher, ob diese Apostrophe notwendig sind oder nicht, aber wenn ich denselben Ableitungspfad in den Bip32-Generator eingebe, kann ich dieselben öffentlichen Schlüssel erstellen. Ich kann eine Zahlung an die abgeleitete Adresse senden und wallet32 holt sie ab.

Kann mir jemand in die richtige Richtung weisen, was ich für den KeyPath in der NBitcoin-Bibliothek verwenden muss, um die gleichen Ergebnisse zu erzielen?

Antworten (1)

Antwort auf Stackoverflow https://stackoverflow.com/questions/27299204/matching-keypath-in-application-with-wallet32-keypath-for-bip44-wallets/27627358#27627358

Kurze Antwort: Jetzt wurde die Notation "44'/0'" implementiert, aktualisieren Sie einfach Ihr NBitcoin-Paket.