Wie kann ich Ether vorab einem neuen Konto zuweisen, das im privaten Ethereum-Netzwerk erstellt wurde?

Nicht durch die Genesis-Datei, um klar zu sein,
wenn wir ein neues Konto über die Geth-Konsole erstellen, sollte es ein neues Konto mit einem vordefinierten Guthaben erstellen

Das Erstellen eines Kontos erfolgt vollständig außerhalb der Kette. Sie könnten die Konsensregeln so ändern, dass jede Adresse standardmäßig einen Saldo von xstatt 0 hat.
Dazu müssen Sie den Quellcode ändern. Aber abhängig von den Anforderungen könnte es eine Problemumgehung geben, z. B. wenn Konten über Ihre Benutzeroberfläche erstellt werden, können Sie ein Administratorkonto mit viel ETH haben und dann wahrscheinlich jedes Mal Ether senden, wenn eine neue Adresse erstellt wird. Aber Sie müssen sicher sein, dass Sie dies jedes Mal wissen, wenn ein Konto erstellt wird.

Antworten (2)

Wenn Ihre Anforderungen wie angegeben sind, heißt das:

  1. Das Erstellen eines Kontos über die Geth-Konsole sollte ein Konto mit einem Guthaben erstellen, und
  2. Sie können die Genesis-Datei nicht ändern

dann besteht Ihre einzige Möglichkeit darin, den Quellcode des von Ihnen verwendeten Ethereum-Clients zu ändern und sicherzustellen, dass alle Knoten über übereinstimmende Konsensregeln verfügen (wahrscheinlich durch Bereitstellung Ihres geänderten Client-Codes).

Das Ändern der Genesis-Datei würde es Ihnen ermöglichen, Konten mit Salden vorab zu erstellen, aber dies würde gegen Ihre Anforderung Nr. 2 verstoßen.

Das Mining nach der Chain-Erstellung würde es Ihnen ermöglichen, Konten mit Mining-Erlösen zu füllen, aber dies würde gegen Ihre Anforderung Nr. 1 verstoßen.

(Wenn dies nur zu Testzwecken ist, sollten Sie eines der Test-Setups wie Ganache verwenden .)

Sie können Äther nicht vorab zuweisen. Weil,

Erstellen Sie eine neue Adresse vor der Validierung durch das Netzwerk, es ist ein Off-Chain-Prozess und diese Adresse prüft durch das Netzwerk, ob die Adresse gültig ist oder nicht, und wenn sie gültig ist, setzen Sie Nonce auf 1, und Sie wissen, dass dies jetzt für die Transaktion bereit ist.

Sie müssen Ether explizit von einem anderen fremden Konto oder Vertragskonto überweisen.

  1. EoA -> CA -> EoA
  2. EoA -> EoA