Unterschied zwischen eth.newAccount und personal.newAccount

Kann jemand den Unterschied zwischen erklären

`eth.accounts.create()` and `eth.personal.newAccount()`

und welches sollten wir verwenden und warum? Da ich neu bei Ethereum bin, ist es für mich sehr verwirrend. Danke

Antworten (2)

Aus der Dokumentation ist die Definition für beide etwas anders


eth.konten

Die web3.eth.accounts enthalten Funktionen zum Generieren von Ethereum-Konten und Signieren von Transaktionen und Daten.

Es gibt nur einen Parameter, der ist

  • entropy - String (optional): Ein zufälliger starker Wert, um die Entropie zu erhöhen. Falls angegeben, sollte es mindestens 32 Zeichen lang sein. Wenn keine angegeben wird, wird eine zufällige Zeichenfolge mit randomhex generiert.

Gibt auch eth.accounts.create()ein Objekt zurück, das enthält

  • address - string: Die Kontoadresse.
  • privateKey - Zeichenfolge: Der private Schlüssel des Kontos.
  • signTransaction(tx [, callback]) – Funktion: Die Funktion zum Signieren von Transaktionen.
  • sign(data) - Funktion: Die Funktion zum Signieren von Transaktionen

eth.persönlich

Mit dem Paket web3.eth.personal können Sie mit den Konten des Ethereum-Knotens interagieren.

Es gibt auch nur einen Parameter, mit dem Sie jedoch das Passwort festlegen können

  • password - String: Das Passwort, mit dem dieses Konto verschlüsselt werden soll.

Und Sie erhalten nur eine Zeichenfolge als Rückgabe, die ist

  • Promise Returns String: Die Adresse des neu erstellten Kontos.

Es gibt nicht viel mehr Informationen darüber, aber ich denke, Sie würden diejenige verwenden, die Ihren Bedürfnissen am besten entspricht. In den meisten Fällen sollten Sie wahrscheinlich verwenden, eth.accountsda es Ihnen viel mehr Informationen zurückgibt.

Quelle: web3.js - Ethereum-JavaScript-API

Konto, das mit eth.accounts.create() erstellt wurde und nicht in der eth.accounts-Liste angezeigt wird. Gibt es auch eine Notwendigkeit, dieses neu erstellte Konto zu entsperren (mithilfe von eth.accounts.create())
@AmitSharma Die getAccountsMethode gibt ein Versprechen zurück. Sind Sie sicher, dass Sie darauf warten?

Normalerweise personalermöglicht Ihnen das Modul, mit „gesperrten“ Konten zu interagieren, die ein Passwort erfordern, um eine Aktion auszuführen. Mit dem eth.accountsModul können Sie mit bereits entsperrten Konten interagieren, die kein Passwort benötigen, um eine Aktion auszuführen.