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);
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With