Reputation: 653
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
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
Reputation: 1
It may occur due to the latest version of web3, try using the [email protected] version.
Upvotes: 0
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
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