Transaction has been reverted by the evm что это
A response to a “Transaction has been reverted by the EVM” error
Occasionally, the Suter Shield users might receive the following error notification:
Here is the respective blockchain error info:
This problem is mainly related to epoch. The concept of epoch [BAZB20] was proposed to avoid inconsistency between the account state and zero-knowledge proof in the transaction especially when there are multiple operations related to the Suter account in a short period of time. To put it simply, the purpose of the epoch is to prevent front-running from happening.
Most of the burn operation failures can be attributed to one reason, i.e., the transaction is not sent to the Binance Smart Chain at the beginning of an epoch. It could further be divided into two cases: 1. the users’ local network is busy and hence the transaction is not sent in time. 2. The BSC network is too busy to accept new transactions. Therefore, the users are advised to launch their operations when the local and BSC network is not busy.
[BAZB20] B. Bünz, S. Agrawal, M. Zamani, and D. Boneh. Zether: Towards privacy in a smart contract world. In International Conference on Financial Cryptography and Data Security, pages 423–443. Springer, 2020.
Smart contract transaction reverted by EVM
I know this question may be better suited for the Ethereum stack exchange but I’ve gotten no responses over there and I’m wondering if it’s more a React issue or something.
I’m trying to run 3 async methods
1: Push a file to IPFS:
2: Write to smart contract and Blockchain:
3: Add an entry to a firebase database:
These are called in that order by this function:
The problem is the student is being added to the database before the metamask (smart contract) transaction has been confirmed. And also After the smart contract executes, all the correct details are written to the Blockchain, but the following error appears in the console:
web3-core-method.umd.js:1191 Uncaught (in promise) Error: Transaction has been reverted by the EVM: < "transactionHash": "0xe3f411d872bb5f42bd7bd15676647f5056421c5accb5aa6fa22d75eadd09973a", "transactionIndex": 0, "blockHash": "0x749ccd76a6888b261b00d8851dca36545fde563fce4c8513407a180d6cac3a00", "blockNumber": 6, "from": "0xa5fcbc63d6bcb8e07750cb75073ec3ff7b98c4f5", "to": "0xadb13cc1a32b64f938be7c1d3447dfcd20c09ae9", "gasUsed": 175983,
«cumulativeGasUsed»: 175983, «contractAddress»: null, «logs»: [], «status»: true, «logsBloom»: «0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000», «v»: «0x2d46», «r»: «0xa1dfe4e9a4ac8dbbdf49186741cd74bda4fed78b280458ed2cd7f979a3020ccd», «s»: «0x477fa20a2176975f3db9fb1e375fceeedb6ae0e7be35177d4908ad1744dddd1a» > at SafeSubscriber._next (web3-core-method.umd.js:1191) at SafeSubscriber.__tryOrUnsub (Subscriber.js:245) at SafeSubscriber.next (Subscriber.js:174) at Subscriber._next (Subscriber.js:99) at Subscriber.next (Subscriber.js:68) at TransactionObserver.emitNext (web3-core-method.umd.js:510) at _callee$ (web3-core-method.umd.js:357) at tryCatch (runtime.js:63) at Generator.invoke [as _invoke] (runtime.js:282) at Generator.prototype.(anonymous function) [as next] (http://localhost:3000/static/js/0.chunk.js:276708:21) at asyncGeneratorStep (asyncToGenerator.js:3) at _next (asyncToGenerator.js:25)
Scary stuff indeed, does anyone know what could be causing this? Again sorry if this is better suited for Ethereum stack exchange, but I’ve gotten no responses and I don’t know what else to try. Thanks in advance for any help!
sendSignedTransaction returns Transaction has been reverted by the EVM even though the transaction has succeeded #2518
Comments
Emad-salah commented Mar 15, 2019
Description
I’ve been trying to perform a signed transaction using Web3 (connected to a Parity ETC Node) but I keep getting this error even though the transaction goes successfully once I check the wallet on gastracker.io: Transaction has been reverted by the EVM
Here’s the part where I try to perform the transaction:
Expected behavior
Calling web3.eth.sendSignedTransaction() should return the transaction receipt
Actual behavior
Calling web3.eth.sendSignedTransaction() returns the error below even though it successfully transfers the specified amount to the target account.
Steps to reproduce the behavior
Versions
The text was updated successfully, but these errors were encountered:
nivida commented Mar 18, 2019
Could you test this with the latest version of Web3.js?
Btw.: I’ll release in the next days some improvements regarding the transaction handling of Web3.js.
nivida commented Mar 18, 2019
This is a duplication of #2441 and will be fixed with #2511
Emad-salah commented Mar 18, 2019
Sounds great! Also, I couldn’t try it out using the latest version because I’m encountering the same issue as described in #2459
amitkot commented Mar 20, 2019
This still happens with web3.js 1.0.0-beta.49.
RostyslavBortman commented Mar 20, 2019
The same issue web3js 1.0.0-beta.48
poserr commented Mar 20, 2019
Unfortunately same problem with 1.0.0-beta.50
AyushyaChitransh commented Mar 20, 2019
Lets reopen this issue until a fixed version is released
Emad-salah commented Mar 20, 2019 •
I’m not sure if this will work for everyone’s use case but I’ve been trying to use web3 just to subscribe to the «pendingTransactions» event and transfer money from a user’s wallet to another. And from what I’ve found so far, the «pendingTransactions» subscription doesn’t work when using a GETH node as a WebSocket provider but it does work when using a Parity node as a WebSocket provider and GETH nodes do work when attempting to sign and send a transaction but Parity nodes don’t.
So in order for it to work for you, you can use a Parity node for Websockets and a GETH node for RTC.
Hopefully, this might help other users who are stuck with the same issue until a fix for it is released 😃
dileepfrog commented Mar 21, 2019
huainanhaoyuelengqianshan commented Mar 25, 2019
patitonar commented Mar 27, 2019
Running into this issue on Beta 50
icervot commented May 2, 2019
parin13 commented Oct 6, 2019 •
same issue with 1.0.0-beta.37
RjtSinghal commented Nov 5, 2020
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Как отправить транзакцию при ошибке Error: Returned error: intrinsic gas too low
Иногда при использовании кошелька MyEtherWallet в холодном режиме появляется ошибка Error: Returned error: intrinsic gas too low:
Эта ошибка возникает при отправке токенов стандарта ERC даже при наличии достаточного количества эфира на кошельке. При этом увеличение цены газа (Gas Price) не помогает, так как Error появляется снова:
Ошибка intrinsic gas too low возникает не только в MyEtherWallet, но и в других кошельках, работающих в сети Ethereum, например, Metamask, Mist и других.
Она связана с особенностями реализации алгоритма работы сети Ethereum в конкретном кошельке. Запуск кода и отправка транзакции в сеть начинается только при наличии достаточного для этой операции количества газа. Он равен сумме обычно константного значения Gas limit (21000 Gwei) плюс комиссия за каждый байт данных, передающихся во время транзакции.
Как исправить ошибку intrinsic gas too low?
При появлении ошибки о недостаточном количестве газа для транзакции (intrinsic gas too low) нужно увеличить лимит газа (gas limit) с дефолтных 21000 до 30-40 и даже 60-70 тысяч Gwei.
При работе в кошельке MyEtherWallet (в том числе в оффлайн-версии) это делается в меню Gas Limit:
После увеличения Gas Limit от дефолтного значения ошибка пропадает, и транзакция передается в сеть.
О некоторых других ошибках при проведении транзакций в сети Эфириум
В сети Эфириум существует множество различных токенов, которые могут использовать технологии ограничения транзакций. При отправке таких токенов появляются ошибки и списывается газ со счета отправителя.
Например, биржа KickEX в 2019/2020 годах осуществила airdrop своих токенов, которые частично торгуются на биржах, но большая их часть заморожена.
Основатели KickEX искусственно накручивают цену своих токенов, проводя манипуляции с куплей-продажей между своими счетами на ряде бирж. При этом «счастливые» владельцы этих «дерьмотокенов», пытающиеся вывести KickEX tokens, только понапрасну тратят эфир за проведение ошибочных транзакций.
Пример ошибки, возникающей при неудачной отправке замороженных токенов Kick:
В эксплорере на etherscan при этом появляется неудачная транзакция с ошибкой Fail with error ‘SafeMath: subtraction overflow:
а также сообщение: Fail with error ‘SafeMath: subtraction overflow:
Хотя транзакция и была недачной, Gas Fee со счета отправителя все равно вычтен.
На токенах Kick уже обожглись тысячи держателей Ethereum-а, статистику шитка можно посмотреть в любом эксплорере по адресу
В случае с токенами KICK эта ситуация возникает из-за условий контракта, по которому они созданы, согласно которому владельцы не могут их тратить (по неподтвержденной информации 2 года или до KYC на их бирже).
С другими токенами также могут возникать подобные ошибки в случае некорректной реализации программного кода их контрактов.
«Transaction has been reverted by the EVM» deploying contract with version higher than 1.0.0-beta.46 #2560
Comments
iccicci commented Mar 24, 2019
Description
Even if following the doc, I get the error in subject if I try to use a Web3 version higher than 1.0.0-beta.46
Expected behavior
Simply «42» as output.
Actual behavior
With version «1.0.0-beta.46»: simply «42» as output.
With version higher that «1.0.0-beta.46» (beta[47, 50] when I write) following error:
Steps to reproduce the behavior
In an empty directory create following two files:
package.json
report.js
Then issue following two commands:
Please note the the reason I’m reporting the problem here is that only changing Web3 version to
«1.0.0-beta.46» everything works as expected.
Versions
The text was updated successfully, but these errors were encountered:
fireblockdev commented Mar 24, 2019 •
I can confirm that ganache doesn’t work for version 48,49,50. A single operation like this crashes:
This code was working until beta 37. Versions 37-46 were incompatible with ganache.
nivida commented Mar 24, 2019
@iccicci Thanks for opening this issue! I’ve checked it and ganache is returning an invalid value in the status property. As documented in the JSON-RPC API of geth and parity should the status field contain a hex string and not a boolean.
@fireblockdev Web3.js is using the eth_chainId JSON-RPC method to determine the chain id of the actual connected chain and ganache doesn’t have it implemented until now (I’ve informed them). The eth_chainId implementation got merged on the 08.18.2017 in geth and parity merged it on the 09.26.2017.
Because of this do I close this issue and ask you to open a new one in the ganache repository.