La pregunta está arriba. En realidad, veo algunas (pequeñas) fluctuaciones. Sin embargo, al leer los documentos, creo que el gas debe ser constante, siempre que la transacción sea exactamente la misma. ¿Cual es verdad? ¿Echo de menos algo?
La cantidad de gas depende del tamaño de los datos de tx. El gasPrice tx alto tiene prioridad para ser extraído, y el minero eliminará las transacciones no locales por debajo de su propio precio de gas mínimo aceptado. La cantidad de gas se calculará mediante el método IntrinsicGas del archivo fuente st_transaction.go, de la siguiente manera:
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
}
Espero que esto ayude ~
La cantidad de gas para una transacción en particular es fija ya que el costo se basa en las operaciones de la máquina virtual Ethereum (EVM) realizadas en la transacción y esto es determinista . Sin embargo, uno debe pagar por el gas utilizado y esta cantidad depende del remitente. La cantidad por unidad de gas se conoce como precio del gas . Por lo tanto, el precio de una transacción particular es el precio del gas x el gas usado . Es decir, el costo de la transacción, incluso con el mismo código ejecutado, puede variar, dentro de los límites (ver más abajo), y lo establece el remitente de la transacción.
El minero elige qué transacciones incluir en un bloque y una heurística en la que pueden confiar es el precio del gas; presumiblemente, cuanto mayor sea el precio del gas, más probable será que se incluya la transacción. Si el precio del gas para una transacción en particular es demasiado bajo, el minero puede simplemente ignorarlo. Por lo tanto, existe un límite inferior práctico para el precio de transacción. Todavía estoy buscando una respuesta sobre si hay un límite superior en el precio del gas .
Vicente J. Ruan
BinGoBinBin