我想要编写一个智能契约,其中对于一个特定函数的调用,例如,erc20Pay,不是erc20将被接受,而是一个具有特定契约地址的常规erc20令牌。如何在稳固的基础上实现这一点?
发布于 2023-04-02 02:55:55
Smart契约依赖于治理的特定理想,从烧伤到非刻录令牌到DAO治理。
  function transferFrom(address sender, address recipient, uint256 amount) 
external returns (bool);
function balanceOf(address account) external view returns (uint256);
constructor(address _tokenAddress, uint _price) {
    tokenAddress = _tokenAddress;
    price = _price;
}
function buy() public {
    IERC20 token = IERC20(tokenAddress);
    uint tokensNeeded = price * 1 ether;
    require(token.balanceOf(msg.sender) >= tokensNeeded, "Insufficient funds");
    require(token.transferFrom(msg.sender, address(this), tokensNeeded), "Token 
  transfer failed");
    // execute function
}
 }https://ethereum.stackexchange.com/questions/148384
复制相似问题