Web3 Error: Transaction has been reverted by the EVM:

20,632

It means smart contract did revert() for your transaction, usually by failing require() line. Other reasons include trying to make a payable transaction to a smart contract that does not accept payments.

Without the smart contract source code it is not possible to tell what causes the revert.

Share:
20,632
0xD1x0n
Author by

0xD1x0n

Updated on March 05, 2022

Comments

  • 0xD1x0n
    0xD1x0n about 2 years

    Im fairly new to using Web3.

    I am trying to test out a function that makes purchases for smart contracts (ERC20 coins). I have tested this code to send Ether from one wallet to another and it succeeded. Now i get this error whenever i try to interact with a smart contract (send a signed transactions to purchase coin) :

    Error: Transaction has been reverted by the EVM:

    And this is how it appears on etherscan rinkeby

    enter image description here

    This is my code

      var rawTx = {
        nonce : nxn,
        gasPrice: web3.utils.toHex(web3.utils.toWei('3000', 'gwei')),
        gasLimit: '0x5208',
        to: '0x40d3b2f06f198d2b789b823cdbecd1db78090d74',
        value: web3.utils.toHex(web3.utils.toWei('0.002', "ether")),
        data : '0x',
        
      }
    
      var tx = new Tx(rawTx,{chain:'rinkeby', hardfork: 'petersburg'});
      tx.sign(privateKey);
    
      var serializedTx = tx.serialize();
    
    
      await web3.eth.sendSignedTransaction('0x' + serializedTx.toString('hex'))
      .on('receipt', console.log);
    
    • Mikko Ohtamaa
      Mikko Ohtamaa over 3 years
      It means smart contract did revert() for your transaction, usually by failing ` require()` line.
  • Admin
    Admin about 2 years
    As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.