Die Frage steht oben. In Wirklichkeit sehe ich einige (kleine) Schwankungen. Beim Lesen der Dokumente denke ich jedoch, dass das Gas konstant sein sollte, vorausgesetzt, die Transaktion ist genau gleich. Was wahr ist? Verpasse ich etwas?
Die Gasmenge hängt von der Größe der Daten von tx ab. Der hohe gasPrice tx hat Priorität, abgebaut zu werden, und der Miner wird nicht-lokale Transaktionen unter seinem eigenen minimal akzeptierten Gaspreis fallen lassen. Die Gasmenge wird durch die IntrinsicGas-Methode der Quelldatei st_transaction.go wie folgt berechnet:
func IntrinsicGas(data []byte, contractCreation, homestead bool) *big.Int {
igas := new(big.Int)
if contractCreation && homestead {
igas.SetUint64(params.TxGasContractCreation)
} else {
igas.SetUint64(params.TxGas)
}
if len(data) > 0 {
var nz int64
for _, byt := range data {
if byt != 0 {
nz++
}
}
m := big.NewInt(nz)
m.Mul(m, new(big.Int).SetUint64(params.TxDataNonZeroGas))
igas.Add(igas, m)
m.SetInt64(int64(len(data)) - nz)
m.Mul(m, new(big.Int).SetUint64(params.TxDataZeroGas))
igas.Add(igas, m)
}
return igas
}
Hoffe das hilft ~
Die Gasmenge für eine bestimmte Transaktion ist festgelegt, da die Kosten auf den Operationen der Ethereum Virtual Machine (EVM) basieren, die in der Transaktion durchgeführt werden, und dies ist deterministisch . Allerdings muss man für das verbrauchte Gas bezahlen und diese Menge ist Sache des Absenders. Der Betrag pro Gaseinheit wird als Gaspreis bezeichnet . Somit ist der Preis einer bestimmten Transaktion Gaspreis x verbrauchtes Gas . Das heißt, die Kosten der Transaktion können, selbst wenn derselbe Code ausgeführt wird, innerhalb von Grenzen (siehe unten) variieren und werden vom Sender der Transaktion festgelegt.
Der Miner wählt aus, welche Transaktion(en) in einen Block aufgenommen werden sollen, und eine Heuristik, auf die er sich verlassen kann, ist der Gaspreis; Vermutlich wird die Transaktion umso wahrscheinlicher aufgenommen, je höher der Gaspreis ist. Wenn der Gaspreis für eine bestimmte Transaktion zu niedrig ist, kann der Miner ihn einfach ignorieren. Somit gibt es eine praktische Untergrenze für den Transaktionspreis. Ich suche immer noch nach einer Antwort, ob es eine Obergrenze für den Gaspreis gibt .
Vincent J. Ruan
BinGoBinBin