مشکل ایجاد تراکنش

پروژه ساخته شده زمانی که میخوام تراکنش به قرارداد ارسال کنم با این مشکل برمیخورم.
کد قرار داد:

pragma solidity ^0.8.12;

contract Donation {
    mapping (address => uint256) public donations;

    function donate(uint256 j) public payable {
        if(j >= 3) {
            revert();
        }
    }

    function getBalance() public view returns (uint256) {
        return address(this).balance;
    }

    fallback() external payable { }
}

کد Web3.js:

  var account;
  useEffect( async () => {
    const accounts = await window.ethereum.enable()
    account = accounts[0]
    console.log(account)
  })

  const createTransaction =  () => {
    const amount = "0.01"; 
    const amountToSend = web3.utils.toWei(amount, "ether");
    donationContract.methods.donate(0).send({ from: account, value: amountToSend, gasLimit: 30000 })
  }

  const getBalance = async () => {
    let balance = await web3.eth.getBalance(donationContract.options.address)
    console.log(balance)
  }

ارور:
image

1 پسندیده

هدف از revert در این قسمت از کد چیست؟

پیامی که شما میگیرید مربوط به کد قراردادتون هست٫ و به نظر میاد که کد revert میشه و تراکنش درست ارسال شده. ولی مشکلات دیگه‌ای هم ممکن باعث این اررور بشه٫ مثلا آدرس donationContract در کد شما نا مشخص است.