Empfohlenes Gaslimit für einzelne Transaktionen

Das derzeitige Mainnet-Gaslimit pro Block beträgt 8 Millionen (7,99), das von Ropsten 9 Millionen (was eigentlich ziemlich überraschend ist, da es vor zwei Monaten 4,7 Millionen waren und ich mich darüber beschwert habe ...).

Was ist angesichts der obigen Ausführungen das empfohlene Best-Practice-Gaslimit für eine einzelne Transaktion? Wären 6 Millionen zu hoch und riskieren sie, von den Bergleuten nicht ausgewählt zu werden, wenn ich den mittleren Gaspreis anstrebe? Wie wäre es mit 4,7 Millionen?

Gibt es überhaupt Statistiken über die Verteilung des Gases, das durch Mainnet-Transaktionen verbraucht wird?

Edit: Anscheinend habe ich mich nicht klar genug ausgedrückt. Ich beziehe mich auf die Transaktion aus meiner Vertragsfunktion. Die Funktion macht etwas iterativ, und es liegt an mir, zu entscheiden, wie viele Iterationen innerhalb einer Transaktion verarbeitet werden sollen. Meine Frage versucht im Grunde, die maximale Menge an Gas zu messen, die "sicher" zu einem angemessenen Gaspreis verwendet werden kann.

Antworten (2)

Das Gaslimit sollte so hoch sein, wie Ihre Transaktion verbraucht, und nicht höher. Die Menge an Gas, die eine Transaktion verbraucht, hängt davon ab, was sie tut. (Denken Sie daran, dass Sie, wenn Ihre Transaktion zu Gasrückerstattungen führt, beispielsweise weil Speicherdaten gelöscht werden, dies dennoch in dem von Ihnen gelieferten Gas verbuchen müssen.)

Die meisten Bergleute werden Blöcke bis zum Limit füllen, und es ist in Ordnung, ein Limit festzulegen, das fast oder das gesamte in einem Block verfügbare Gas verbraucht, aber da die Bergleute zuerst Transaktionen mit höheren Gebühren annehmen, wird dies das Gasniveau erhöhen, das Sie benötigen eingestellt, um andere Transaktionen zu überbieten, die in den Block passen könnten. Sie müssen also das höhere Gaslimit ausgleichen, indem Sie einen höheren Gaspreis festlegen. Unter https://ethgasstation.info/ finden Sie spezifische Daten dazu, wie hoch der Gaspreis sein dürfte, den Sie für ein bestimmtes Gaslimit benötigen.

Wenn Sie nur eine einfache Sendung durchführen, verwenden Sie einfach 21.000.

Es stellt sich heraus, dass MetaMask ein eigenes Gaslimit von 6M hat –

MetaMask-Gaslimit

Für einen Vertrag mit Endverbraucher sind also vorerst 6 Millionen die Obergrenze.