Contract-Development
如何在我的合約中使用 DAI
我熟悉智能合約開發。雖然,每次我開發一些東西時,我都會使用傳統的乙太幣。為了簡單起見,讓我們假設這個契約。
pragma solidity ^0.5.0; contract Example { constructor () public {} function () external payable {} function getBalance() public view returns (uint256) { return address(this).balance; } function withdraw() public { msg.sender.transfer(address(this).balance); } }
我如何接受這個確切的契約並簡單地允許它做同樣的事情,但使用 DAI 代替?請實用,我已經閱讀了很多理論資料,我只是在尋找有關如何執行此操作的實際程式碼。
pragma solidity ^0.5.0; //import ERC20 functionality ... contract Example { ERC20 public token; //@param _token the address of the DAI smart contract constructor(ERC20 _token) public { token = ERC20(_token); } function () external payable {} function getBalance() public view returns (uint256) { return token.balanceOf(address(this)); } function withdraw() public { token.transfer(msg.sender, getBalance()); } }
您已經閱讀了很多理論,所以這裡有一個您的確切程式碼的實際範例,但使用 DAI 而不是 ether,希望對您有所幫助。