Вопрос выше. В реальности я вижу некоторые (небольшие) колебания. Однако, почитав документы, я думаю, что газ должен быть постоянным, при условии, что сделка точно такая же. Что является правдой? Я что-то пропустил?
Количество газа зависит от размера данных tx. High gasPrice tx имеет приоритет для майнинга, и майнер будет отбрасывать нелокальные транзакции по своей собственной минимально приемлемой цене на газ. Количество газа будет вычислено методом IntrinsicGas исходного файла st_transaction.go следующим образом:
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
}
Надеюсь, это поможет ~
Количество газа для конкретной транзакции фиксировано, поскольку стоимость основана на операциях виртуальной машины Ethereum (EVM), выполняемых в транзакции, и это детерминировано . Однако за использованный газ необходимо заплатить, и эта сумма зависит от отправителя. Количество на единицу газа известно как цена газа . Таким образом, цена конкретной транзакции равна цене газа x использованный газ . То есть стоимость транзакции, даже при выполнении одного и того же кода, может варьироваться в определенных пределах (см. ниже) и устанавливается отправителем транзакции.
Майнер выбирает, какую транзакцию (транзакции) включить в блок, и одна из эвристик, на которую он может положиться, — это цена на газ; предположительно, чем выше цена на газ, тем больше вероятность того, что сделка будет включена. Если цена газа для конкретной транзакции слишком низкая, майнер может просто проигнорировать ее. Таким образом, существует практическая нижняя граница цены сделки. Я все еще ищу ответ на вопрос, существует ли верхний предел цены на газ .
Винсент Дж. Руан
БинГоБинБин