существуют При взаимодействии с блокчейном Ethereum,Особенно когда существующие отправляют транзакцию,вы можете столкнуться сошибкаинформация:replacement transaction underpriced
。этотошибкаобычно происходитсуществоватьпытатьсязаменятьужесуществоватьв торговом пулеиз При торговле,новыйизторговляиз gasPrice слишком низко. Почему будет объяснено ниже это обнаруживает эту ошибку, укажите ее в фоновом режиме и как избежать этого вопроса.
replacement transaction underpriced
ошибка?ошибкапричина:
replacement transaction underpriced
ошибка обычно возникает, когда:
gasPrice
Если ожидаемое стандартное значение не выполняется, узел выдаст эту ошибку.Механизм замены транзакции (Replacement Transaction)
В Ethereum транзакции в пуле транзакций (мемпуле) обычно gasPrice Сортировать. Майнеры будут отдавать приоритет gasPrice Более высокие транзакции упаковываются. Чтобы гарантировать, что транзакция может быть упакована майнерами как можно скорее, вы можете использовать новую транзакцию для заменять предыдущую транзакцию и увеличить ее gasPrice
。
Например, если вы отправили транзакцию, но она не обрабатывалась майнерами в течение длительного времени, вы можете установить более высокое значение, отправив новую транзакцию. gasPrice
чтобы заменить эту транзакцию, побуждая майнеров сначала обработать ее.
Однако альтернативные транзакции gasPrice Должно быть лучше, чем исходная транзакция высокий。Если вы попытаетесь использовать более низкуюиз gasPrice
Если вы замените исходную транзакцию, вы столкнетесь replacement transaction underpriced
ошибка。
конкретная ситуация:
gasPrice
для 20 Gwei, но транзакция существовала долгое время в пуле транзакций и не обрабатывалась майнерами. Итак, вы отправили новую транзакцию, хотите заменить исходную транзакцию, установили 19 Gwei из gasPrice
。gasPrice
Ниже, чем исходная транзакция из gasPrice
,Даже заменять торговлю,Майнеры также склонны отдавать приоритет обработке gasPrice
Более выгодные предложения, так что вы столкнетесь replacement transaction underpriced
ошибка。Эфириум Механизм замещения транзакций Это означает, что когда вы отправили транзакцию, и она все еще находится в пуле транзакций, но по какой-то причине (например, не обрабатывается или gasPrice
слишком мало), вы можете заменить старую транзакцию, отправив новую транзакцию. Новые транзакции должны соответствовать следующим условиям:
gasPrice
(В противном случае это вызовет replacement transaction underpriced
ошибка)。Этот механизм предназначен для того, чтобы пользователи могли улучшить gasPrice
,Пусть ваши собственные транзакции сначала обрабатываются майнерами.
Сценарии применения замещения транзакций:
gasPrice
Когда он слишком низкий и долгое время не обрабатывался, вы можете отправить новую транзакцию и повысить ее на gasPrice
чтобы убедиться, что майнеры отдают ему приоритет.gasPrice
,убеждатьсячто-то важноеизторговляможно упаковать как можно раньше,Например, когда существование осуществляет передачу больших ценностей или взаимодействие смарт-контрактов.replacement transaction underpriced
ошибкаС Эфириумом EIP-1559 С внедрением обновления изменился способ расчета комиссий за транзакции. ЭИП-1559 представил base fee и tip(кончик)изконцепция,Заменил оригинал из gasPrice
。существовать EIP-1559 В этом режиме комиссия за транзакцию автоматически корректируется сетью. Майнеры больше не определяют комиссию за каждую транзакцию напрямую, а основаны на сумме в блоке. base fee и Пользователь платит из чаевых, которые будут определены.
maxPriorityFeePerGas
)。EIP-1559 Этот механизм изменил традиционные gasPrice
Укажите путь и gasFeeCap(максимальная стоимостьверхний предел)и maxPriorityFeePerGas(приоритетный сбор)Приходитьубеждатьсяторговляприоритет。существовать В рамках этого механизма,торговляиз gasPrice
и Традиция из gasPrice
Оно уже не фиксировано, а динамически меняется.
replacement transaction underpriced
ошибка?maxPriorityFeePerGas
высокий или по крайней мере равен исходной транзакции gasFeeCap
。Если вы предложите альтернативуторговля,Не удалось поднять высокую комиссию.,вызовет replacement transaction underpriced
ошибка。replacement transaction underpriced
ошибка?gasPrice
выше, чем исходная транзакцияЕсли вам необходимо заменить невыполненную транзакцию, Конечно, что новые транзакции gasPrice
выше, чем исходная транзакцияиз gasPrice
,в частностисуществовать Используйте традиционныеиз gasPrice
режим. Если вы используете EIP-1559 режиме, он гарантирует, что альтернативная транзакция maxPriorityFeePerGas
Комиссия выше, чем при первоначальной транзакции.
Используйте лайк Web3.js или Web3j Ожидая библиотеки, убедитесь, что вы правильно их настроили при построении альтернативных транзакций. gasPrice
или maxPriorityFeePerGas
。Например:
Пример Web3.js:
web3.eth.sendTransaction({
from: '0xYourAddress',
to: '0xRecipientAddress',
value: web3.utils.toWei('1', 'ether'),
gas: 21000,
gasPrice: '20000000000' // убеждаться gasPrice выше, чем исходная транзакция
});
Убедитесь, что новые транзакции nonce То же, что и исходная транзакция. альтернативная сделка nonce
Должна быть такой же, как исходная транзакция, отправленная для ее замены.
существовать EIP-1559 режим, обязательно установите соответствующий gasFeeCap
и maxPriorityFeePerGas
,убеждатьсязаменятьторговляиз Стоимость достаточновысокий,Может быть приоритетным для майнеров.
replacement transaction underpriced
ошибка обычно возникает, когда существующие пытаются заменить необработанную транзакцию новой транзакцией. gasPrice
или maxPriorityFeePerGas
слишком низко,В результате майнеры не желают обрабатывать транзакцию. чтобы избежать этой ошибки,вам нужноубеждатьсязаменятьторговляизрасходывыше,чем исходная транзакция,или ВОЗсуществовать EIP-1559 режим, установите правильный gasFeeCap
и maxPriorityFeePerGas
。понимая Эфириум Механизм замещения транзакцийи EIP-1559 из Влияние,Вы сможете управлять более эффективноторговляиубеждатьсяони могут быть успешно обработаны。