Unterscheiden sich das Gaslimit in Transaktion und das Blockgaslimit?

Was bedeutet Gaslimit? Gibt es zwei Bedeutungen von Gaslimit?

  1. Gaslimit in einer Transaktion
  2. Sperrgasgrenze

Antworten (1)

Ja. Jede Transaktion hat ein Gaslimit. Beispielsweise könnte es 5 ungeminte Transaktionen geben, bei denen jede ein Gaslimit von 10, 20, 30, 40, 50 hat. Das Blockgaslimit bestimmt, wie viele Transaktionen in einen Block passen. Wenn das Blockgaslimit beispielsweise 100 beträgt, können die ersten vier Transaktionen in den Block passen. Miner entscheiden, welche Transaktionen in einen Block aufgenommen werden sollen. Ein anderer Miner könnte versuchen, die letzten 2 Transaktionen in den Block aufzunehmen (50+40), und er hat nur Platz, um die erste Transaktion (10) aufzunehmen.

Jede Person, die eine Transaktion erstellt, kann entscheiden, wie hoch das Gaslimit ihrer Transaktion ist: Es wäre jedoch nicht sinnvoll, etwas Höheres als das Blockgaslimit anzugeben, sodass Geth und andere Kunden sie daran hindern würden, zu hohe Werte festzulegen. Es ist ein Gaslimit, da es die maximale Menge an Gas ist, die die Person, die die Transaktion erstellt, zu verwenden bereit ist: Sie zahlt nicht für zusätzliches Gas, das nicht verwendet wird. Aber wenn sie das Limit zu niedrig ansetzen, kann ihrer Transaktion das Benzin ausgehen und sie zahlen alles an den Miner.

Beim Blockgaslimit entscheiden die Miner. Je größer es ist, desto mehr können sie von Transaktionsgebühren bekommen, aber desto mehr Bandbreite und Rechenleistung müssten sie leisten. Miner können das Blockgaslimit nicht zu stark innerhalb eines Blocks ändern: Sie können es nur um den Faktor 1/1024 ändern.

Das Transaktionsgaslimit ist die gasEigenschaft in einer transactionObject. Das Block-Gas-Limit ist ein Parameter in der erstellten Genesis-Datei (es ist kundenabhängig und bedeutet typischerweise das minimale Block-Gas-Limit: Ein Block mit einem kleineren Gas-Limit wird von den Knoten in dieser Blockchain nicht akzeptiert).

Können Sie erklären, wo diese beiden Dinge definiert/geändert werden? Sind die in der Genesis-Datei? Ich möchte mit ihnen für eine private Blockchain spielen.
@ stone212 Ja, das Blockgaslimit ist in der Genesis-Datei (möglicherweise vom verwendeten Namen abhängig vom Client). Das Gaslimit für eine Transaktion befindet sich in jeder Transaktion: Es ist normalerweise der gasWert in einem TransactionObject.
Ich bin verwirrter als zuvor. Können Sie mir hier sagen, welcher Parameter sich auf das Blockgaslimit bezieht : github.com/paritytech/parity/blob/master/ethcore/res/ethereum/… . Und sind irgendwelche der anderen Gasparameter in dieser Datei Teil der Transaktion? minGasLimit vielleicht? Wenn ja, dann fange ich vielleicht an zu verstehen. Ich bin verwirrt, weil ich denke, dass ein Wert das Mindesttransaktionsgaslimit und der andere das Gaslimit der Genesisdatei ist, aber keiner das Blockgaslimit ist. Aber ich kann darauf keine klare Antwort bekommen, und daher sind meine Tests für mich wirklich verwirrend.
@ stone212 Ich bin mit diesen Paritätsparametern nicht vertraut. Ich glaube, Sie haben dazu eine Frage gestellt, und wenn Sie es mit Parity taggen, könnte es die Aufmerksamkeit einiger Leute auf sich ziehen, die an Parity arbeiten: ein Grund, warum Tagging und Titel wichtig sind. Wenn Sie Glück haben, können Sie auch 5chdn unter chat.stackexchange.com/rooms/34620/whisper ausprobieren
Das Problem, das ich habe, ist, dass Sie sagen: "Mit dem Blockgaslimit sind die Miner diejenigen, die entscheiden", aber (a) es gibt den "gasLimit" -Parameter und alles sagt mir, dass dies das Blockgaslimit ist. Wenn Sie Ihrer Antwort eine Erklärung hinzufügen können, werde ich sie als richtig markieren.
Denken Sie auch daran, Ihren früheren Kommentar zur Antwort hinzuzufügen, damit zukünftige Suchende ihn finden.
@stone212 Fertig, danke für deine Vorschläge und ich sehe deinen früheren Kommentar zu minGasLimit und habe auch eine kurze Erklärung beigefügt.