NodeJS Web3错误:事务已由EVM恢复:

nc1teljy  于 2022-12-18  发布在  Node.js
关注(0)|答案(2)|浏览(251)

我对使用Web3相当陌生。
我正在测试一个购买智能合约(ERC20硬币)的功能,我已经测试了这个代码将以太币从一个钱包发送到另一个钱包,它成功了。现在,每当我尝试与智能合约交互(发送签名交易购买硬币)时,我都会收到这个错误:

错误:事务已由EVM还原:

这就是它在etherscan rinkeby上的表现

"这是我的准则"

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

anhgbhbe1#

这意味着智能合约为你的交易做了revert(),通常是因为require()行失败,其他原因包括试图向不接受支付的智能合约进行支付交易。
如果没有智能合约源代码,就不可能知道是什么导致了恢复。

ilmyapht

ilmyapht2#

如果你正在做Dapp大学教程,我认为问题出在与initialSupply的约定上,看看构造函数是否带参数。

相关问题