Contract-Development

如何從 web3@1.0.0 的託管合約中提取資金?

  • July 29, 2018

我將 ETH 存入一個簡單的合約中,我想取回它。我有這個功能:

function refundBalance() public onlyOwner {
   uint256 balance = address(this).balance;
   msg.sender.transfer(balance);
   emit LogReturnedFunds(msg.sender, balance);
}

我在終端中通過 node 和 web3@1.0.0-beta.35 呼叫它:

contract.methods.refundBalance().call().then(console.log)

唉,我只得到這個空洞的回應:Result {}Ropsten 上沒有狀態更新。我在這裡缺少什麼嗎?

試試這個:

`contract.methods.refundBalance().send().then(console.log)`. 

call用於不改變狀態的函式。它們被定義為viewor pure。但是,refundBalance() 確實改變了狀態。因此,使用send

引用自:https://ethereum.stackexchange.com/questions/55338