Я пытаюсь отправить эфир по контракту с фиксированной ценой на газ, поэтому я хочу знать, могу ли я побудить майнеров принять мою транзакцию раньше чужой, установив высокий лимит газа. Работают ли майнеры таким образом (то есть, если есть две транзакции на выбор, обе делают одно и то же по одинаковой цене газа, могут ли они выбрать одну с более высоким лимитом газа и заработать больше eth, добывая его?), или сумма использованного газа фиксируется на основе данных транзакции, кода операции и т. д.?
Да, вы можете сделать свою транзакцию более приоритетной, предложив более высокую комиссию за транзакцию (комиссия за транзакцию = стоимость газа * цена газа).
Майнеры, как правило, предпочитают транзакции, которые несут более высокую комиссию за транзакцию, и поэтому отдают приоритет такой транзакции по сравнению с другими, независимо от типа транзакции и того, что влечет за собой транзакция.
Некоторые смарт-контракты имеют максимальные лимиты газа, установленные на уровне метода, и будут отклонять транзакции, которые превышают этот лимит.
Я никогда не слышал о термине «фиксированная цена на газ» и хотел было ответить, что такого понятия не существует. Затем я начал думать, что контракт может проверять цену на газ tx.gasprice
и отменять транзакции, которые не соответствуют желаемому значению цены на газ, и это может даже иметь какой-то смысл.
Чем больше я об этом думаю, тем больше смысла это может иметь, например, для ICO, которые хотят равного отношения ко всем участникам.
Если вы не можете использовать цену на газ в качестве стимула для майнеров, вы ничего не можете сделать, поскольку цена на газ должна быть стимулом. Установка другого лимита газа не даст майнерам больше дохода — это всего лишь верхняя граница использования газа в ваших транзакциях, и это ничего не меняет для майнеров, если только транзакция не исчерпает газ. Я предполагаю, что вы хотите, чтобы ваша транзакция прошла, поэтому нет смысла устанавливать слишком низкий лимит газа, но слишком высокий лимит не поможет вам стимулировать майнеров.
Единственное, что я могу придумать, как улучшить ваши шансы, — это отправить несколько транзакций (с разными одноразовыми номерами) и желательно даже с разных узлов. В этом случае вы должны быть готовы к тому, что в какой-то момент все транзакции пройдут. Как правило, это не очень жизнеспособный вариант.
фетт
Тройт