Das Konto ist gesperrt, nachdem der Truffle-Migrationsbefehl ausgeführt wurde [duplizieren]

Ich bin neu in dieser Technologie und versuche, den Vertrag für das Ropsten-Testnetzwerk bereitzustellen. Ich habe mein Geth in einem Terminal laufen. In meiner Trüffelkonsole habe ich ein Konto mit etwas Ether. Ich entsperre es, dann gehe ich direkt danach in einem anderen Terminal in mein Projektverzeichnis, um die Truffle-Kompilierung auszuführen, und dann die Truffle-Migration.

Ich bekomme diesen Fehler:

Running migration: 1_initial_migration.js
  Deploying Migrations...
Error encountered, bailing. Network state unknown. Review successful transactions manually.
Error: account is locked
    at Object.module.exports.InvalidResponse (/usr/local/lib/node_modules/truffle/node_modules/ether-pudding/node_modules/web3/lib/web3/errors.js:35:16)
    at /usr/local/lib/node_modules/truffle/node_modules/ether-pudding/node_modules/web3/lib/web3/requestmanager.js:86:36
    at null.request.onreadystatechange (/usr/local/lib/node_modules/truffle/node_modules/web3/lib/web3/httpprovider.js:114:13)
    at null.dispatchEvent (/usr/local/lib/node_modules/truffle/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:591:25)
    at setState (/usr/local/lib/node_modules/truffle/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:610:14)
    at IncomingMessage.<anonymous> (/usr/local/lib/node_modules/truffle/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:447:13)
    at emitNone (events.js:72:20)
    at IncomingMessage.emit (events.js:166:7)
    at endReadableNT (_stream_readable.js:905:12)
    at doNTCallback2 (node.js:450:9)
    at process._tickDomainCallback (node.js:405:17)

Ich habe mein Gas auf verschiedene Mengen geändert, es aber zurückgerollt, da dies nicht das Problem zu sein scheint, da ich genug Äther habe.

Ich habe das Problem auch gegoogelt und es wurde vorgeschlagen, dass ich das neueste Geth bekomme, ich glaube, das tue ich.

Kann jemand bitte helfen? Ich bin völlig neu in diesem und völlig verloren und weiß nicht, was ich sonst tun soll. Vielleicht sollte ich einschiffen.

Ich freue mich über jeden Rat :) Vielen Dank im Voraus

Antworten (1)

Trüffel ist ein großartiger Rahmen. Ich würde dich nicht davon abbringen. Meiner Erfahrung nach ist dieser Fehler nicht irreführend . Ich glaube nicht, dass das Konto so freigeschaltet ist, wie du denkst.

In Geth, wenn Sie Folgendes tun:

web3.personal.unlockAccount("address")

es dauert überhaupt nicht sehr lange. 30 Sekunden, wenn das Gedächtnis dient. Das könnte in jedem Fall helfen:

web3.personal.unlockAccount(web3.personal.listAccounts[0], "password", 15000)
  • welche Adresse zuerst kommt
  • Setzen Sie das Passwort in das 2. Argument
  • Entsperren Sie es für 15.000 Sekunden (damit es Sie eine Weile nicht stört).

Sollte reagieren true.

Hoffe, ich habe die Syntax nicht vermasselt. Nur ein praktischer Satz zu wissen.

Ich hoffe es hilft.

Hallo Rob, danke für die schnelle Antwort. Ich habe den zweiten Befehl versucht, aber ich erhalte diesen Fehler: Fehler: Schlüssel konnte nicht mit angegebener Passphrase bei Object.module.exports.InvalidResponse (/usr/local/lib/node_modules/truffle/node_modules/web3/lib/web3/errors .js:35:16) bei null.RequestManager.send (/usr/local/lib/node_modules/truffle/node_modules/web3/lib/web3/requestmanager.js:61:22) bei Personal.send [als unlockAccount] ( /usr/local/lib/node_modules/truffle/node_modules/web3/lib/web3/method.js:145:58) bei evalmachine.<anonymous>:1:-47 @RobHitchens
Passwort-Fehler. Auch wohl nicht irreführend. Geben Sie Ihr echtes Passwort dort ein, wo ich "Passwort" gesagt habe. Sie können auch web3.personal.listAccounts ausführen, um zu bestätigen, dass Sie Konten in diesem Netzwerk haben. Du brauchst mindestens einen.
Ja, ich habe mein richtiges Passwort eingegeben. und ich habe 3 Konten :( das einzige Mal, wenn es wahr zurückgibt, ist, wenn es truffle(default)> web3.personal.unlockAccount('address', 'password', 15000) ist, aber dann in der anderen Konsole, wenn ich versuche, es bereitzustellen Wenn Sie Truffle Migration ausführen, beschwert es sich, dass das Konto gesperrt ist. Denken Sie daran, dass ich es so schnell wie möglich mache und nicht länger als 30 Sekunden dauern darf: / @RobHitchens
Mir ist gerade aufgefallen, dass dieses Problem nicht neu ist. Schauen Sie hier: ethereum.stackexchange.com/questions/10160/… und überprüfen Sie Ihre Geth-Befehlszeile (rpc-Sachen) und truffle.js.
Ja, das ist ein ähnliches Problem, aber es gibt keine Lösung ... Ich hatte gehofft, dass mein Beitrag @RobHitchens helfen würde
Ich konzentriere mich weiterhin auf das gesperrte Konto, aber es ist schwer, genau zu bestimmen, was falsch ist. Paar Gedanken. Können Sie bestätigen, dass Sie Trüffel 2 verwenden und nicht den Trüffel 3, der diese Woche herauskam? Zweitens eine Problemumgehung. Ich würde testrpc vorschlagen. Es ist besser für die Entwicklung (Minings sofort) und auch einfacher einzurichten. In diesem Fall kann das Herausnehmen von Testnet aus dem Bild den Suchbereich für das eigentliche Problem eingrenzen. Wenn Sie testrpc mit $ testrpc -u 0 -u 1 starten, erhalten Sie zwei entsperrte Konten mit Test Ether. Spielt gut mit Trüffel. Posten Sie auch truffle.js in Ihrer Frage. Könnte etwas verraten.
Hallo Rob, ich habe auf Truffle 2.0.0 degradiert und alles neu gemacht. Ich bekomme immer noch das Konto ist gesperrt. Ich verstehe nicht, warum ... ich denke, ich kann einschiffen. @RobHitchens
Hallo Rob, ich versuche, testrpc zu verwenden. Funktioniert es genauso? Wie muss ich das Konto in der Truffle-Konsole entsperren und dann die Truffle-Migration in einer anderen Konsole ausführen? @RobHitchens
Wenn Sie testrpc mit $ testrpc -u 0 -u 1 starten, erhalten Sie zwei entsperrte Konten mit Test Ether. 8 weitere, die gesperrt werden. Hört auf rpc auf 8545. Es ist eine Art Blockchain-Simulation. Sehr schnell.
Hallo Rob, vielen Dank, ich werde dann einfach testrpc verwenden. :) Ich hoffe, du hast einen schönen Tag @RobHitchens
Tatsächlich ist Trüffel ein schreckliches Framework und Sie sollten es nicht außerhalb der Entwicklung verwenden