web3.accounts.create() ist keine Funktion

Ich möchte ein neues Konto über Code (Node.js) erstellen, also habe ich den folgenden Code ausgeführt, der aus den Dokumenten kopiert und eingefügt wurde :

web3.eth.accounts.create();

Der Wert der Konten ist jedoch ein leeres Array, und daher erhalte ich diesen Fehler:

web3.eth.accounts.create ist keine Funktion

was sinnvoll ist, weil Arrayes keine Methode mit dem Namen hat create.

Wie erstelle ich ein neues Konto?

Welche Web3-Version verwendest du?
github.com/ethereum/web3.js web3.personal.newAccount('mynewaccount', function(err, res){ console.log("error"+err); console.log("res"+res); });

Antworten (2)

Ich denke, Sie verwenden die Web3-Version vor 1.0. wie ich weiß web3.eth.accounts.create()wurde in web3 1.0 eingeführt. Überprüfen Sie also Ihre web3js-Version. wenn Sie eine frühere Version verwenden , die hierweb3.eth.personal.newAccount(password, [callback]) dokumentiert ist

Aus irgendeinem Grund installiert npm standardmäßig Version 0.20.2. In dieser Version ist der richtige Befehl keiner der oben genannten, sondern: web3.personal.newAccount(password, [callback]). Was für eine DLL-Hölle! Was würden Sie mir empfehlen? Verwenden Sie meine aktuelle Version oder aktualisieren Sie auf 1.0 (wenn es überhaupt möglich ist)
versuchen Sie npm install web3@1.0.0-beta.24
Es wird ein Stack-Fehler ausgegeben: Die ausführbare Python-Datei "python" kann nicht gefunden werden. Sie können die PYTHON-env-Variable festlegen.
Dies ist ein nodejs-Problem stackoverflow.com/questions/21365714/…

trennen Sie die Argumente "password" und "callback result" voneinander

web3.eth.personal.newAccount(password,(result)=>{
    console.log(result);
    res.send(JSON.stringify(result));        
});