Erstellen eines Kontos mit web3js oder web3j

Ich versuche, ein Konto im privaten Ethereum-Netzwerk mit web3js vom Frontend aus zu erstellen. Ich habe die folgenden Zeilen in meine js-Datei geschrieben. createAccount() wird von einer HTML-Seite aufgerufen

web3 = new Web3(new Web3.providers.HttpProvider("http://127.0.0.1:8545"));

function createAccount(){    
    console.log("web3 version"+web3.version.api);
    web3.eth.accounts.create();
}

Ich bekomme das unten in der Konsole web3 Version 0.20.1

Nicht erfasster TypeError: web3.eth.accounts.create ist keine Funktion

Ist es möglich, mit web3js ein Konto auf dem Knoten von der Front-End-HTML-Seite aus zu erstellen? Wenn nicht, was sind die Schritte, um dasselbe von web3j aus zu tun.

Antworten (2)

Vor Version 1.0 von web3js – die über die eth.accounts-Funktionalität verfügt ; Das Erstellen eines neuen Kontos erfolgt über


eth.personal.newAccount('password')

die Sie hier dokumentiert finden

Um dies jedoch über Node.js zu erreichen, müssen Sie „persönlich“ über RPC aktivieren – was nicht ratsam ist – oder eine Verbindung über IPC herstellen. Weitere Informationen finden Sie in dieser vorhandenen Antwort .

Weitere Informationen zum rpc-Flag und Parameter, die Sie angeben müssten, um dies zu aktivieren, finden Sie in diesem web3js-Problem .

web3.js < v1.0 hat das Objekt nicht web3.eth.personal. Siehe github.com/ethereum/wiki/wiki/JavaScript-API-Dokument .

web3.eth.accounts.create ist unter web3.js 1.0 nicht verfügbar.

Bitte beachten Sie den Abschnitt Hinweise in diesem Link Web3 JS-Konten

Wie lauten die Versionsnummern für web3? Ich habe die Rede von 1.0 gesehen. Wenn Sie npm installieren, heißt es 0.2.0 und das Repo sagt 0.14. Was ist los?
@Kaviarasu, was ist eine Alternative dafür?