I can’t get JS properly to call my solidity function withdraw funds. I have got solidity:
function withdrawFunds() public { require(msg.sender == owner, "You are not the owner"); (bool success, ) = payable(owner).call { value: address(this).balance }(""); require(success); }
And it works, but I cant figure out how to properly call it in JS.
So far I have this in JS:
const withdrawFunds = async () => { try { await Contractoftickets.methods.withdrawFunds().call({ from: address, }) setSuccessMsg(`Funds withdrawn!`) } }
It executes but it currently does not withdraw funds.
Advertisement
Answer
With ethers.js you can do it like this:
const withdrawFunds = async () => { try { const Contractoftickets = ethers.getContract(contractAddress, contractInterfaceOrABI) await Contractoftickets.withdrawFunds() setSuccessMsg(`Funds withdrawn!`) } }
I’ll recommend you to go through ethers docs for more details. A simple note, you’ve to install ethers and connect your wallet with it before using it like above.