JavaScript-Code erforderlich, um eine Ethereum-Adresse zu generieren?

Mir sind mehrere Tools und Websites bekannt, die Adressen für Sie generieren, aber ich suche nach einem tatsächlichen JavaScript-Code-Snippet, um die Schritte deutlich zu demonstrieren.

Antworten (1)

Schauen Sie sich an:

https://github.com/kvhnuke/etherwallet

(und hauptsächlich diese Datei, suchen Sie nach generateSingleWallet : https://github.com/kvhnuke/etherwallet/blob/gh-pages/js/source/01_global.js )

Es ist der Quellcode für https://www.myetherwallet.com/ , der die In-Browser-Generierung von Ethereum-Adressen bereitstellt.

Ein einfaches Javascript-Snippet (mit CryptoJS- und staticJS/01_ethereumjs-accounts.js-Bibliotheken aus dem oben genannten Repository):

function generateSingleWallet(password) {
  // reference from staticJS/01_ethereumjs-accounts.js
  var acc = new Accounts();
  var newAccountEnc = acc.new(password);
  var addressHash =   
    cryptoJSToHex(CryptoJS.SHA3(newAccountEnc.address));
  addressHash = addressHash.substr(addressHash.length - 4);

  var newAccountUnEnc = acc.get(newAccountEnc.address, password);
  // now: newAccountUnEnc.private is unencoded private key
  newAccountEnc.private = newAccountEnc.private + addressHash;
  // now: newAccountEnc.private is encoded private key

  // always clear the Accounts object after generation
  acc.clear();
}