Contract-Invocation
如何從智能合約中提取乙太幣?
我正在編寫一個接收乙太幣的智能合約。
如何將乙太幣從合約轉移到我的個人錢包
我可以像使用普通錢包一樣從合約中發送乙太幣嗎?我會告訴使用者向合約發送 0.01 ETH,但我不知道從智能合約中提取 ETH。你能幫我編輯程式碼嗎 ?
抱歉,我不知道在網站上插入程式碼:
您不能直接將乙太幣從合約轉移到 EOA。合約與 EOA(外部擁有的賬戶)的不同之處在於 EOA 由私鑰管理,而合約由其程式碼管理。
所以如果你在合約中獲得乙太幣,你需要一種從合約中提取乙太幣的方法。
程式碼可能類似於:
function payout () public onlyOwner returns(bool res) { owner.transfer(address(this).balance); return true; }
您的程式碼中已經有了這個函式。這應該有效:
function withdraw() onlyOwner public { address myAddress = this; uint256 etherBalance = myAddress.balance; owner.transfer(etherBalance); }