Muss ich mein Konto in Geth entsperren, um ein web3.eth.sign() in JavaScript aufzurufen?

Ich habe:

  1. Ein Geth-Konto
  2. Zugriff auf die web3-API

Ich möchte:

  1. Rufen Sie die Funktion auf,web3.eth.sign(coinbase, sha)

Wenn ich dies in eine Javascript-Datei sign.jseinfüge und node.js aufrufe, signiert es dann meine Nachricht? Oder muss mein Geth-Account freigeschaltet werden? Kann ich es in Bash entsperren und dann node.js aufrufen?

Vielen Dank!

Antworten (2)

Sie müssen Ihr Konto entsperren, um damit arbeiten zu können. Der dritte Parameter von unlockAccount ist ein Timeout in Sekunden.

web3.personal.unlockAccount("0x..", "<passs>", 1000);

Beachten Sie jedoch, dass jedes andere Programm mit Zugriff auf Ihren Knoten innerhalb des Timeouts signieren kann, wenn Sie Ihr Konto entsperren.

Sehen Sie sich dies an, um zu erfahren, wie Sie Ihren Knoten sichern und Probleme vermeiden können: Wie können Sie die Wahrscheinlichkeit verringern, dass Ihre Ethereum-Brieftasche gehackt wird? .

Ab web3.js v1.0 müssen Sie durchlaufen eth, um personalvon nodejs aus zu erreichen:

web3.eth.personal.unlockAccount("0x..", "<passs>", 1000);

Andernfalls erhalten Sie den FehlerTypeError: Cannot read property 'unlockAccount' of undefined