Ist klar, dass für jede "Ether"-Überweisung mit "address.transfer(amount)" wie viel "Gebühr" bezahlt werden muss?

Ist klar, dass für jede "Ether"-Überweisung mit "address.transfer(amount)" wie viel "Gebühr" bezahlt werden muss? Ich meine, wie hoch sind die Kosten für die etherÜberweisung address.transfer(amount)? Ist es ein fester Wert für diese Transaktionsgebühr? Und ist der feeUnterschied zu gas priceeiner Transaktion? Hier wird das erwähnt

"Es wird nur eine kleine Menge Gas mitgeschickt (21000 Gas)."

Bedeutet das, feedass die Transaktion 21000 wei?

Antworten (1)

address.transferwird ungefähr 9000 Gas verbrauchen und eine Gasgrenze von 2300 Gas festlegen. Dies bedeutet, dass bei einer Übertragung auf einen anderen Vertrag nur 2300 Gas für den Ausführungscode im Zielvertrag verfügbar sind.

Die 21.000.000 sind die Grundkosten der Transaktion, die von benutzereigenen Konten (UOA) gestartet wird, die Ether von einer UOA zu einer anderen UOA übertragen, Kosten 21.000 und zu einem Vertrag betragen die Grundkosten ebenfalls 21.000. plus die Kosten für die Ausführung des Vertragscodes.

address.transferist ein Nachrichtenaufruf innerhalb einer Transaktion. Wenn Sie also eine Funktion ausführen, die enthält, address.transferzahlen Sie die 21000-Gas plus die 9000-Gas (ungefähr).

Hoffe das hilft

Danke, wenn Sie " 21000 gas plus 9000 gas" sagen, bedeutet das 21000 wei plus 9000 wei? Übrigens, gibt es eine Referenz für diese Kosten in solidity.readthedocs.io ? Danke
Gas ist ein Maß für die Rechenkosten, Sie müssen es mit dem Gaspreis multiplizieren, um den Etherwert zu erhalten. Derzeit beträgt der Gaspreis (er ändert sich) 2100000000 Wei, also kosten 21000 Benzin 21000*2100000000 = 0,00004 eth oder 0,022 USD. Siehe das . Die Informationen zu den Gaskosten finden Sie im gelben Papier , Anhang G, Seite 25. Der Wert von 9000 ist aus Erfahrung, ich hatte vor einiger Zeit die gleiche Frage wie Sie und habe einen Code ausgeführt, um die Gaskosten zu schätzen, address.tranferund am Ende mit 9000 als guter Schätzwert.
Vielen Dank, und wo steht " Std Cost for Transfer" (oben links), bedeutet das, dass jedes Mal, wenn wir es etherverwenden address.transfer(amount), Kosten anfallen $0.042? Danke
Nein, das Senden von Ether kostet normalerweise immer 21000 Gas, der Preis hängt vom Gaspreis ab und der Gaspreis ändert sich je nach Status des Netzwerks. Auch wenn Sie Ether aus Ihrer Brieftasche senden, tun Sie dies nicht address.transfer(amount). address.transfer(amount)ist eine Methode, um Ether von einem Vertrag an Benutzerkonten oder andere Verträge zu senden. Wenn Sie den Vertrag ausführen, der diese Methode ausführt, zahlen Sie die Grundkosten für jede Transaktion (21000 Gas) plus das Gas, das für die Ausführung des Codes ausgegeben wird. Auch hier ergeben sich die Gesamtkosten aus verbrauchtem Gas multipliziert mit dem Gaspreis. Ich hoffe, das ist klar
Ich verstehe den Zweck von 21000. Würden Sie mir bitte mitteilen, was der Zweck von ist 9000 gas? Danke