Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Web3 Error: Transaction has been reverted by the EVM:

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);
like image 644
0xD1x0n Avatar asked Aug 31 '25 21:08

0xD1x0n


2 Answers

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.

like image 90
Mikko Ohtamaa Avatar answered Sep 03 '25 09:09

Mikko Ohtamaa


If you are doing the Dapp University Tutorial i think the problem is in the contract with the initialSupply. See if the constructor takes any parameters.

like image 23
Ultradx Avatar answered Sep 03 '25 10:09

Ultradx