Solidity
退還 ETH 轉賬的智能合約
我想實現智能合約,在某些條件下將 ETH 發送回發送者:
function() public payable { msg.sender.transfer(msg.value); }
我通過
gasLimit
等於4700000
:web3.eth.sendTransaction({from: wallet, to: contract.address, value: ether(2), gasLimit: 4700000});
執行時仍然看到錯誤
testrpc
:Error: VM Exception while processing transaction: out of gas
將 ETH 發送到其他智能合約通常可以正常工作。即時退款有什麼問題?
您設置了 gasLimit 而不是氣體。我認為您要發送的是:
web3.eth.sendTransaction({from: wallet, to: contract.address, value: ether(2), gas: 4700000});