【发布时间】:2023-02-26 04:39:54
【问题描述】:
我想将 BUSD 发送到智能合约,然后只有所有者才能从该智能合约中提取这些 BUSD。有人可以帮我编程吗?
我在下面尝试过,但认为它不会起作用。
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "../IERC20.sol";
contract TestBUSD {
IERC20 tokenContract;
address private owner;
uint bal;
constructor() payable {
tokenContract = IERC20(0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56);
owner = msg.sender;
}
receive() external payable {}
modifier OnlyOwner() {
require(msg.sender == owner);
_;
}
function Approvetokens(uint256 _tokenamount) public returns(bool){
tokenContract.approve(address(this), _tokenamount);
return true;
}
function GetUserTokenBalance() public view returns(uint256){
return tokenContract.balanceOf(msg.sender);
}
function deposit(uint256 _tokenamount) payable public {
tokenContract.transferFrom(msg.sender, address(this), _tokenamount);
bal += msg.value;
}
function getOwner() public view returns (address) {
return owner;
}
function withdrawToken(address _tokenContract, uint256 _amount) payable external {
require(msg.sender == owner, "Only owner can withdraw!");
IERC20(_tokenContract);
tokenContract.transfer(msg.sender, _amount);
}
}
【问题讨论】:
-
您在哪个网络上部署合同? BSC 主网,它的本地分支,非分支模拟器(例如 Remix VM),...?
-
现在在 BSC 测试网上
标签: deployment solidity smartcontracts binance-smart-chain openzeppelin