繁体   English   中英

从其他智能合约铸造新的 ERC20 代币

[英]Mint new ERC20 token from other smart contract

最近我在处理具有质押功能的智能合约时遇到了一个问题。 通过 IERC20 接口,我设法与来自另一个合约的 Erc20 令牌进行交互,但仍然存在一个困惑。 我正在开发一个智能合约,用户可以在智能合约中抵押我的代币(代币已经部署在网络中),当抵押期限结束时,利益相关者可以获得他们的抵押金额以及奖励代币。 对于奖励代币,我想铸造新代币以奖励我智能合约中的利益相关者。 我如何在另一个智能合约中使用 mint function? 我想在我的抵押智能合约中使用 Erc20 mint function。 等待您的积极回应。

IERC20 private _token;
constructor(IERC20 token) {
    _mytoken = token;

  }

传输和批准工作正常,但 IERC20 中没有薄荷选项

 _mytoken.approve(address(this),quantity);
 _mytoken.safeTransferFrom(msg.sender,address(this),quantity);

IERC20 不包含_mint但 ERC20 包含所以你继承自 ERC20

contract RewardToken is ERC20 {
    constructor() public ERC20("Reward Token","RWD"){
        // give initial supply 1million + 18 zeros
        _mint(msg.sender,1000000000000000000000000);
    }

您的 RewardToken 具有 _mint 功能,它仍然可以继承自 IERC20。 但是你的构造函数中有一个初始化错误:

constructor(IERC20 token) {
    // you have to initialize with IERC20
    _mytoken = IERC20(token);
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM