Muss ich meinen eigenen Knoten erstellen und ihn mit dem Hauptnetzwerk synchronisieren, um Konten über Web3 zu erstellen?

Wie mein Fragetitel besagt, würde ich gerne wissen, ob es erforderlich ist, meinen eigenen gehosteten Geth-Knoten auszuführen, der mit dem Hauptnetzwerk synchronisiert ist, um web3.js (localhost-Knoten?) Zum Erstellen von Konten zu verwenden?

Oder ist es möglich, web3 mit dem Main Network als Provider zu " verweisen " ? und mit diesem Hinweis zum Beispiel Konten erstellen?

Wenn letzteres möglich ist, könnten Sie mir bitte ein Beispiel zeigen?

-Mit freundlichen Grüße,

Antworten (1)

Das Erstellen von Konten ist nur die Auswahl einer großen Zufallszahl. Es kann sicherlich offline und ohne einen Knoten, zu dem eine Verbindung hergestellt werden muss, durchgeführt werden.

B. mit ethereumjs-wallet:

> const key = require('ethereumjs-wallet').generate();
undefined
> key.getAddress().toString('hex')
'eac913b60f61e566910b02c7bf6fd47ef115875c'
> key.getPrivateKey().toString('hex')
'62e1499a16be79fcd87e0fa748a6735a12e7252568942a8226179c02d5a454ac'
Interessant, darf ich eine Anschlussfrage stellen? Wie "integrieren" Sie dann diesen Account in das Main-Net?
Eine vereinfachte Ansicht von Ethereum ist, dass es sich um eine verteilte Zuordnung von Adressen zu Salden handelt. (ZB „ 0x123besitzt 3 Ether“, „ 0x987besitzt 1 Ether“ usw.) Alles, was nicht auf der Karte ist, besitzt 0 Ether. Das Konto, das ich gerade oben erstellt habe, hat also 0 Ether. Wenn Sie ihm 1 Ether schicken, wird es 1 Ether haben, obwohl ich nie etwas mit dem Konto gemacht habe. Es gibt also keinen expliziten "Erstellungs"-Schritt, an dem das Netzwerk beteiligt ist. Sie müssen nur dann mit dem Netzwerk sprechen, wenn Sie eine Transaktion durchführen müssen (unter Verwendung des privaten Schlüssels Ihres Kontos).
Eindrucksvoll! Das ist eine fantastische Lektion, danke. Darf ich jedoch darauf hinweisen, dass ich am meisten wissen muss, wie man web3 mit dem Main-Network als Provider verwendet, wissen Sie zufällig, wie das geht? (Da ich es vorziehen würde, NICHT meinen eigenen Knoten zu betreiben).
Ja, Sie können jeden öffentlichen Knoten verwenden. Am beliebtesten ist Infura.io, und noch beliebter ist die Verwendung über MetaMask. (Dies ist die Standardeinstellung in MetaMask.) Vielleicht hilft dieser Blogbeitrag von mir: programtheblockchain.com/posts/2017/12/13/…
Hey, da es sehr selten ist, zufällig einen Guru zu finden, darf ich einen letzten fragen? Wenn ein Vertrag im Main-Net bereitgestellt wird, gibt es eine andere Möglichkeit (mit web3), ein Konto zu entsperren, als das Passwort zu verwenden? Ich schätze, dass dies der größte Zweifel ist, den ich als Anfänger habe, und jetzt bin ich noch verwirrter, da Ihr „Offline“-Beispiel überhaupt keine Eingabe eines Passworts beinhaltet. Danke schön!
Um ein Konto zu verwenden, benötigen Sie lediglich den privaten Schlüssel. Die meisten Tools (MetaMask, Geth, Mist) verschlüsseln den privaten Schlüssel mit einem Passwort, aber es muss nicht so funktionieren. Ich bin mir nicht sicher, ob ich weitere Informationen geben kann, ohne das Szenario besser zu verstehen. Verzeihung!