- Получение «replacement transaction underpriced» ошибок при отправке транзакций Ethereum в сеть Rinkeby?
- 1 ответ
- Похожие вопросы:
- Status-react: Ошибка транзакции — транзакция замены занижена при отправке транзакции с восстановленной учетной записи
- Описание
- Ожидаемое поведение
- Фактическое поведение
- Размножение
- Дополнительная информация
- Журналы
- Все 5 Комментарий
- Получаете ошибки «заменяющая транзакция заниженной цены» при отправке транзакций Ethereum в сеть Rinkeby?
- Как исправить несоответствия при согласовании банковских счетов, начальный баланс отключен в QuickBooks
- Rinkeby: «replacement transaction underpriced»
- 1 Answer 1
- Error: replacement transaction underpriced #9
- Comments
- jadster commented Jun 4, 2017 •
- ricmoo commented Jun 5, 2017
Получение «replacement transaction underpriced» ошибок при отправке транзакций Ethereum в сеть Rinkeby?
Я получаю прерывистые ошибки «replacement transaction underpriced» в сети Rinkeby на стороне сервера моего Node.JS dApp. Я использую точную сумму для расчетного газа в моей транзакции send() вызова, возвращенного мне звонком estimateGas() . В моих опциях вызова я добавляю как поле gas , так и поле gasLimit только для того, чтобы быть в безопасности с расчетной стоимостью газа, возвращаемой estimateGas() в объекте options . Кто-нибудь знает, как это исправить?
По несвязанному вопросу. К моему большому разочарованию, просто отправка транзакции через Metamask в сеть Rinkeby занимает от 16 до 30 секунд. Обратите внимание, что я имею в виду с момента появления расширения Metamask до момента, когда мой клиентский код восстанавливает контроль. Я не говорю о времени, которое требуется, чтобы получить транзакцию, подтвержденную/добытую сетью. Сказав это, я начинаю сомневаться, что Metamask не вернет вам контроль до тех пор, пока транзакция не будет добыта. Это тот самый случай?
Вот фрагмент кода, который я использую для отправки транзакции в Rinkeby (или любую другую сеть, в которой я тестирую):
1 ответ
Я пытаюсь записать некоторые данные в тестовую сеть Ethereum Rinkeby без использования мета-маски, но при вызове метода я получаю ошибку ниже , но мой счетчик аргументов верен UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 246): Error: Invalid number of arguments to.
Я пытаюсь запустить блокчейн-сеть Ethereum с помощью блокчейн-сервиса Azure, но у меня возникли некоторые проблемы. И ниже я описал один из них. Я буду очень признателен за любые советы и помощь от людей, которые уже имеют опыт работы с блокчейн-сервисом Azure. Не могли бы вы помочь мне.
Похоже, вы нашли причину своей проблемы в своем комментарии. Но, чтобы добавить ясности для других, кто видит ту же проблему, ошибка не только из-за дубликата. Эта ошибка возникает, когда транзакция отправляется с nonce, который уже используется в другой ожидающей транзакции AND цена газа совпадает (или меньше) с ожидающей транзакцией.
Вы можете отправить транзакцию, используя тот же nonce, если используете более высокую цену на газ. Майнеры всегда будут выбирать транзакцию по более высокой цене для ожидающей работы, поэтому это способ отменить ожидающую транзакцию или повторно отправить транзакцию, которая игнорируется из-за низких цен на газ.
Похожие вопросы:
Я пытаюсь развернуть контракт на главной сети Ethereum, я уточнил: network_id: 1, поставщик: infura, газ: 5000000, gasPrice: 140 И я постоянно получаю ошибки: Error: Contract transaction couldn’t be.
Я запускал локальный узел Rinkeby (чтобы использовать события websocket), который некоторое время работал нормально, но внезапно я получил Returned error: replacement transaction underpriced. Я.
Я использую Ethereum с testnet Rinkeby, я создал контракт и развернул его. Есть ли способ отобразить исходный код этого контракта? Я знаю, что контакты неизменны, но я хочу просто взглянуть на код.
Я пытаюсь записать некоторые данные в тестовую сеть Ethereum Rinkeby без использования мета-маски, но при вызове метода я получаю ошибку ниже , но мой счетчик аргументов верен.
Я пытаюсь запустить блокчейн-сеть Ethereum с помощью блокчейн-сервиса Azure, но у меня возникли некоторые проблемы. И ниже я описал один из них. Я буду очень признателен за любые советы и помощь.
Знакомы ли вы с ethereum и web3js-api в node js? Я использовал фреймворк sails, и я немного запутался, как создать новую учетную запись, например ( https://www.myetherwallet.com/ ). на данный момент.
Я использую код web.py ниже, чтобы попытаться отправить транзакцию с 1 ETH в тестовой сети Rinkeby через локальный узел geth. Я вижу транзакции, представленные в живом локальном потоке журнала узлов.
Мы используем web3 для подключения к тестовой сети ethereum rinkeby. При этом через geth, через localhost, с помощью приведенной ниже команды web3: var web3 = new Web3(‘http://localhost:8545’); Мы.
Я нахожусь на Windows, пытаясь подключиться к тестовой сети Ethereum через rinkeby. Я скачал geth 1.8.2 и Ethereum Wallet 0.9.3 Я дал 1-ю команду как: Гет —rinkeby-быстро-кэш=1024 NOTE: после.
Проблема Когда я пытаюсь развернуться в Ринкебю с помощью команды truffle migrate —reset —network rinkeby После выполнения приведенной выше команды я получаю следующий результат. Фактическая.
Источник
Status-react: Ошибка транзакции — транзакция замены занижена при отправке транзакции с восстановленной учетной записи
Описание
Сводка : Transaction failed. Replacement transaction underpriced ошибка возникает, когда восстановленный пользователь со средствами отправляет транзакцию. На данный момент это уже произошло при отправке транзакции из кошелька на адрес, контакту в чате 1-1 и при развертывании контракта из Status Test DApp, а также для ETH и токенов.
Ожидаемое поведение
Транзакция успешно отправлена
Фактическое поведение
Transaction failed. Replacement transaction underpriced Ошибка отображается после отправки транзакции и нажатия кнопки Получено
Размножение
- Открытый статус
- Восстановить аккаунт пользователя с денежными средствами
- Отправить транзакцию
Дополнительная информация
- Версия статуса: 0.9.24 (6289) узел 7ebe0c3
- Операционная система: Android 7.1
Журналы
@ Серхи, это другое.
это, скорее всего, произойдет, если есть два тестовых сеанса, которые происходят одновременно и используют одну и ту же учетную запись.
Я не знаю, как именно с этим бороться. Возможно, мы сможем создать пул учетных записей, который мы сможем использовать, и убедиться, что они разные для всех тестовых сессий.
Мы также можем отложить тестовую сессию, если такой учетной записи нет.
Все 5 Комментарий
Это, по-видимому, связано с тем, что транзакция была отправлена с GasPrice = 0 (отображается в журналах TF). Вероятно, на каком-то этапе запрос на текущую цену на газ может не сработать, что приведет к его значению 0 / null. Это можно было бы воспроизвести следующим образом:
1) Открыть статус, создать новую учетную запись. Измените сеть на Ropsten.
2) Запрос / сборщик.
3) Добавьте любой контакт в контакты
4) Включите авиарежим на вашем устройстве.
5) Перейдите к экрану Wallet -> Send transaction .
6) Выберите Получателя и введите действительную сумму ETH (например, 0,0001).
7) Обратите внимание: если вы откроете Advanced options, значение Gwei будет пустым (ожидается, что мы не в сети)
8) Отключить режим полета
9) Подпишите эту транзакцию действующим паролем
Единственное отличие состоит в том, что в этом случае (Android 7 и 6.0.1) появляется ошибка transaction underpriced (а не replacement transaction underpriced как на скриншоте в описании).
@ Серхи, это другое.
это, скорее всего, произойдет, если есть два тестовых сеанса, которые происходят одновременно и используют одну и ту же учетную запись.
Я не знаю, как именно с этим бороться. Возможно, мы сможем создать пул учетных записей, который мы сможем использовать, и убедиться, что они разные для всех тестовых сессий.
Мы также можем отложить тестовую сессию, если такой учетной записи нет.
@mandrigin Я исправлю это на стороне e2e сегодня, спасибо, что нашли основную причину
@antdanchenko Можем ли мы закрыть этот вопрос сейчас?
Источник
Получаете ошибки «заменяющая транзакция заниженной цены» при отправке транзакций Ethereum в сеть Rinkeby?
Главный редактор: Scott Nelson, Электронная почта
Как исправить несоответствия при согласовании банковских счетов, начальный баланс отключен в QuickBooks
Я получаю периодически возникающие ошибки «заниженная стоимость транзакции замены» в сети Rinkeby на стороне сервера моего приложения Node.JS dApp. Я использую точную сумму предполагаемого газа в вызове send () моей транзакции, возвращаемом мне estimateGas() вызов. В своих опциях звонка я добавляю как gas а также gasLimit поле просто на всякий случай с расчетным значением газа, возвращаемым estimateGas() в options объект. Кто-нибудь знает, как это исправить?
По не относящемуся к делу вопросу. К моему большому разочарованию, просто отправка транзакции через Metamask в сеть Rinkeby занимает от 16 до 30 секунд. Обратите внимание: я имею в виду с момента появления расширения Metamask до момента, когда мой клиентский код восстанавливает контроль. я не Говоря о времени, необходимом для подтверждения / майнинга транзакции в сети. Сказав это, я начинаю задаваться вопросом, не вернет ли Metamask вам контроль до тех пор, пока транзакция не будет добыта. Так ли это?
Вот фрагмент кода, который я использую для отправки транзакции в Rinkeby (или в любую другую сеть, в которой я тестирую):
- 1 Возможно, цена транзакции занижена из-за того, что значение транзакции равно «0x00», а также функция в вашем контракте должна быть «оплачиваемой».
- @EduardoPereira Это неудобное сообщение об ошибке. Фактическая проблема — это дублирующийся одноразовый номер.
Похоже, вы нашли причину своей проблемы в своем комментарии. Но, чтобы добавить ясности для других, которые видят ту же проблему, ошибка возникает не только из-за повторяющегося одноразового номера. Эта ошибка возникает, когда транзакция отправляется с одноразовым номером, который уже используется в другой ожидающей транзакции, И цена газа равна (или меньше) ожидающей транзакции.
Вы можете отправить транзакцию, используя тот же одноразовый номер, если вы используете более высокую цену на газ. Майнеры всегда выбирают транзакцию с более высокой ценой для отложенной работы, поэтому это способ отменить отложенную транзакцию или повторно отправить транзакцию, которая игнорируется из-за низких цен на газ.
Источник
Rinkeby: «replacement transaction underpriced»
I’ve been running a local Rinkeby node (in order to use websocket events) which was working fine for a while, but suddenly I have been getting «Returned error: replacement transaction underpriced». I am sending 10x the average gas price and I’m still getting this error. Here are my calculations:
Only when I bump the gas price to (gwei * 2000) can I make a transaction (0.9 ether). This is causing me to run out of ether very quickly making development real hard.
Any help is much appriciated!
Geth Rinkeby Cmd:
1 Answer 1
Summary: Remove the nonce field
This answer assumes that you want to issue a new transaction, rather than replace a pending one.
What does the error mean?
«Returned error: replacement transaction underpriced»
The error means that:
- You have a pending transaction from your account in your Ethereum client
- The new transaction you are sending has the same nonce as that pending transaction
- The new transaction you sent has a gas price that is too small to replace the pending transaction
With geth , the replacement transaction must have a gas price greater than 10% of the gas price of the pending transaction.*
I’ll assume that you want to issue a new transaction, rather than replace an existing, pending one. You can solve the problem by removing the nonce field. Your Ethereum client will automatically manage the nonce for you.
* This replacement price is not specified in the protocol. Different clients (and most importantly, miners), might apply different replacement rules.
I have another reason that I need to specify the nonce field
Then increment it by one every time you issue a new transaction. This will not play well with other processes connected to your Ethereum client, and try to replace them.
Источник
Error: replacement transaction underpriced #9
Comments
jadster commented Jun 4, 2017 •
I now have a situation where I can’t seem to get ethers-ens to use the correct nonce. It seems to have started after I entered the password unsuccessfully (why can’t I use backspace on the password field?). I now keep getting the error: «Error: replacement transaction underpriced» for every new transaction when using —cheap.
If I remove the —cheap flag, it overwrites the last pending transaction. But the same problem occurs again for the next transaction. It’s like ethers-ens is always using one nonce value too small.
If I always wait for the one pending transaction to finish, I can make a new one. But I can no longer create more than one pending transaction at once without this error popping up.
It would be nice to have that flag «—nonce» you had mentioned. Or somehow make the code more robust in the automatic choice of nonce. Using —rpc http://localhost:8545 it should be able to determine the correct nonce, right?
The text was updated successfully, but these errors were encountered:
ricmoo commented Jun 5, 2017
So, ethers-ens does not store any nonce information anywhere. It queries the ethereum node (using provider.getTransactionCount(address, ‘pending’) ) every time you try to send a transaction.
The problem is likely the transaction was accepted by your node, and so when asked what nonce to use, it is considering that pending transaction to be valid, so the next nonce is +1 more than you want (since you are in fact trying to replace a transaction).
To solve this, if things are getting gummed up, it’s gummed up in the mempool of your Etehreum node. If you restart it, it should only make one last request to broadcast the transaction, and hopefully remove it from the mempool.
There is another issue I have open for the backspace problem, it will likely require upstream fixed in readline-sync .
But if you enter a wrong password, literally nothing else happens. Without the correct password, it cannot decrypt the wallet file, cannot sign any transaction and does not (and cannot) send a transaction.
The —nonce will be available soon, I often need it too when there is network congestion. If you make a pending transaction, and then wait until it shows up on etherscan (as pending), it is usually safe to then perform the next action, since it has been accepted by the network as «going to happen».
The other addition to —nonce will be that info will also display the pending and latest transactionCount.
Источник