Wie überweise ich Geld von einer lightwallet.dat-Datei auf ein anderes Konto?

Ich habe eine lightwallet.dat-Datei, die ich von ujomusic.com exportiert habe . Es hat ein anderes Format als das von Geth. Ich erwarte nicht, dass Geth es importiert, also kann ich ein Konto mit derselben Nummer wie dieses Konto erstellen und das Geld irgendwie mit dem privaten Schlüssel auf ein anderes Konto überweisen? Das ist, damit ich an die Ether auf dem Konto komme.

Kann ich den privaten Schlüssel im Klartext abrufen? Wenn ja, wie mache ich das?

Die Datei sieht so aus:

{
    "encSeed":
{         "encStr":"U2FsdGVkX186DSL2uPp1vZO......","iv":"1cb31568e......","salt":"3a0d...."},
    "encHdRootPriv":    {"encStr":"U2FsdGVkX19FA0tZsR......","iv":"da5e226....","salt":"45034...."},
"hdIndex":1,
"encPrivKeys":{
"92f2f6b0cc1.......:{"key":"U2FsdGVkX183.....","iv":"5ec1968....","salt":"371302....."}},
"addresses":["0x92f2f6b......"],"keyHash":"f1af35a6222......",
"salt":{"words":[-918769374,1616628770,1822257817,983741528],"sigBytes":16}}
es ist unklar, was Sie fragen. Was ist eine lightwallet.dat und was hat sie mit ujomusic 'tiny human' mit so schwerem Javascript zu tun, dass mein Browser dazu neigt, abzusterben?
Ich bereite gerade eine Antwort speziell für die ujomusic Lightwallet vor/versuche sie; Ich denke, der Fragetitel kann verbessert werden, indem er spezifischer wird, da die grundlegende Antwort auf die allgemeine Frage "Ja" lautet.
Ich habe den Titel so umformuliert, dass er mit dem spezifischen Detail in der Frage übereinstimmt. Ich werde die allgemeine Frage separat stellen, weil ich denke, dass es auch nützlich ist, sie zu wissen. Jeder, der das sieht, stimmt bitte für die Wiedereröffnung.

Antworten (2)

Basierend auf einer Antwort von Benutzer @Clovis:

npm install eth-lightwallet
node
>var lightwallet = require("eth-lightwallet")
>var upgrade = require("eth-lightwallet/lib/upgrade")
>var jsonStr='contents of ./app/users/admin/*.json file'
>var newJSON
>upgrade.upgradeOldSerialized(jsonStr, , function(err, tmpJSON) {newJSON=tmpJSON;console.log(newJSON);});
>keystore = lightwallet.keystore.deserialize(newJSON);
>var derivedKey;
>lightwallet.keystore.deriveKeyFromPasswordAndSalt('', '', function (err, pwDerivedKey) {derivedKey = pwDerivedKey;});
>var addresses = keystore.getAddresses();
>keystore.exportPrivateKey(addresses[0], derivedKey);

ALTE Antwort

Ujo verwendet Lightwallet . Das Exportieren von Lightwallet und das anschließende Importieren in Geth sollte den Zugriff auf die Gelder erleichtern. (Alternativ können Sie weiterhin Lightwallet-APIs verwenden.)

Aus Lightwallet exportieren

Führen Sie in dem Verzeichnis, in dem sich Ihre lightwallet.dat befindet, die folgenden Befehle aus: Offensichtlich müssen Sie Ihre eigene Ujo-Adresse und Ihr eigenes Passwort verwenden . Dies setzt voraus, dass Ihr System bereits über NodeJS verfügt .

npm install eth-lightwallet

node

> var lightwallet = require('eth-lightwallet')

> newJSON = lightwallet.keystore.upgradeOldSerialized(JSON.parse(fs.readFileSync('lightwallet.dat')), <password>)

> keystore = lightwallet.keystore.deserialize(newJSON)

> keystore.exportPrivateKey(<address>, <password>)
'7...bla'

In diesem Beispiel ist 7...bla der private Schlüssel. (Ich habe die Ausgabe der anderen Befehle oben weggelassen, damit es klarer ist.)

Import nach Geth

Kopieren Sie den privaten Schlüssel

Fügen Sie den Schlüssel in eine Textdatei ein, sagen wir must_delete_this.txt und importieren Sie ihn mit geth:

geth account import must_delete_this.txt

Löschen Sie die Datei mit dem Namen must_delete_this.txt

Die APIs haben sich geändert, seit dies geschrieben wurde, und die akzeptierte Antwort auf diese Frage ist besser: ethereum.stackexchange.com/questions/3094/…
Danke, ich habe versucht, sie zu bearbeiten und deriveKeyFromPasswordAndSaltgemäß Ihrem Kommentar zu verwenden ...

Wenn Sie den privaten Schlüssel zur Hand haben, speichern Sie ihn einfach in einer Textdatei, sagen wir, damn_private_keyund importieren Sie ihn mit Geth:

geth account import /path/to/damn_private_key

Weitere Einzelheiten . Vergessen Sie nicht, die einfache private Schlüsseldatei auf Ihrer Festplatte zu löschen.