0xD1x0n
0xD1x0n

Reputation: 653

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);

Upvotes: 4

Views: 37512

Answers (3)

Kalash
Kalash

Reputation: 1

It may occur due to the latest version of web3, try using the [email protected] version.

Upvotes: 0

Ultradx
Ultradx

Reputation: 21

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.

Upvotes: 2

Mikko Ohtamaa
Mikko Ohtamaa

Reputation: 83338

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.

Upvotes: 6

Related Questions