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);
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);
Share
Improve this question
edited Dec 13, 2022 at 20:09
TylerH
21.1k77 gold badges79 silver badges112 bronze badges
asked Oct 31, 2020 at 7:10
0xD1x0n0xD1x0n
6536 gold badges13 silver badges37 bronze badges
1
-
1
It means smart contract did
revert()
for your transaction, usually by failing ` require()` line. – Mikko Ohtamaa Commented Nov 2, 2020 at 9:47
3 Answers
Reset to default 6It 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.
It may occur due to the latest version of web3, try using the [email protected] version.