So importieren Sie einen privaten Schlüssel in ein verschlüsseltes Wallet (auf dem Standard-Client)

Ich habe einen Standard-Client (QT-Client auf OSX) mit einer verschlüsselten Brieftasche. Ich habe versucht, Schlüssel mit pywallet zu importieren, aber während es behauptete, sie zu importieren, sagte es, als ich den Bitcoin-Client erneut ausführte, dass wallet.dat beschädigt war (ja, der Client lief nicht, als ich den Import durchführte).

Ich denke, pywallet weiß nichts über Verschlüsselung und hat sich nicht genug darum gekümmert, vor dem Importieren zu überprüfen, ob alles in Ordnung ist.

Also, wie mache ich diesen Import?


Beim Versuch, den Befehlszeilenclient auszuführen, erhalte ich einige Sekunden nach dem Start die folgende Fehlermeldung (natürlich mit der Option -daemon):

EXCEPTION: NSt8ios_base7failureE       
CDataStream::read() : end of data       
bitcoin in AppInit()       

Das Ausführen des QT-Clients mit der -serverOption stürzt auch nach einer Weile ab (anscheinend funktioniert es ohne die korrekt).

Ich habe es geschafft, sie in MultiBit zu importieren, aber es funktioniert sowieso nicht: bitcoin.stackexchange.com/questions/3549/…

Antworten (1)

Seit 0.6.0 sind Schlüsselimport/-export im Client selbst verfügbar, allerdings nur über RPC. Die Befehle heißen dumpprivkeyund importprivkey. Zum Beispiel (im Testnet):

$ ./bitcoind neue Adresse abrufen

n2JjZgLeCUgfubswxDm9zAaBGSLLHSLdNv

$ ./bitcoind dumpprivkey n2JjZgLeCUgfubswxDm9zAaBGSLLHSLdNv

cR4RtpaeAZY8MwrNvTQGX9PZ9pdCgFoLxuo4Pkwqx61broC4Gb4y

Und auf einem anderen Wallet:

$ ./bitcoind importprivkey R4RtpaeAZY8MwrNvTQGX9PZ9pdCgFoLxuo4Pkwqx61broC4Gb4y

$ ./bitcoind Validierungsadresse n2JjZgLeCUgfubswxDm9zAaBGSLLHSLdNv

{ „isvalid“ : true, „address“ : „n2JjZgLeCUgfubswxDm9zAaBGSLLHSLdNv“, „ismine“ : true, „pubkey“ : „029e3a934cfc9f89d7a1c15f99b98479cabc81964f4972e7b8fa3989a788261695“, „iscompressed“ }

Oh, anscheinend stellt bitcoin-qt keinen Server bereit, mit dem sich der Befehlszeilen-Client verbinden kann; sieht auch so aus, als ob bitcoind nicht mehr startet und mit einer Ausnahme einige Sekunden nach dem Start abstürzt ... (unterstützt es verschlüsselte Brieftaschen? in den Optionen habe ich nichts davon bemerkt ...)
Sie müssen "bitcoin-qt -server" ausführen, damit es einen Server bereitstellt. Und Sie müssen 'rpcuser=x' und 'rpcpassword=y' in Ihrer bitcoin.conf-Datei haben, aber ich denke, bitcoin-qt wird Ihnen das sagen, wenn Sie es nicht haben. bitcoind unterstützt verschlüsselte Geldbörsen, aber stellen Sie sicher, dass Sie dieselbe Version wie die Version von bitcoin-qt verwenden, die Sie haben.
@ChrisMoore mmmh, dabei bekomme ich nur Fehler -4"Fehler beim Hinzufügen des Schlüssels zur Brieftasche", wenn ich versuche, hinzuzufügen, priv_sipaoder -5"Ungültiger privater Schlüssel", wenn ich versuche, hinzuzufügenpriv
Oh, Sie müssen Ihre Brieftasche vorübergehend entschlüsseln, damit sie den neuen Schlüssel hinzufügen kann. Ich gehe wie folgt vor, damit meine Passphrase nicht in meinem Shell-Verlauf landet. Es entsperrt die Brieftasche für 60 Sekunden: Lesen Sie x; ./bitcoind WalletPassphrase "$x" 60; x nicht gesetzt
Ich kann das nicht: Wenn ich den Server von der Befehlszeile aus starte, stürzt er nach einer Weile ab, und dasselbe passiert, wenn ich den QT-Client mit der Option -server starte.
Dann ist das ein Bug. Kannst du es auf github melden? Diese Antwort gibt jedoch an, wie das Importieren von Schlüsseln erfolgen soll.