繁体   English   中英

铸造 erc721 但用 erc20 代币而不是以太币支付

[英]Minting erc721 but paying with erc20 token instead of ether

希望一切安好。

我有来自 openzeppelin @openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol 的 erc721 合同

我今天让用户用以太币铸造的地方:

function mint(address _to, uint256 _mintAmount) public payable {
    uint256 supply = totalSupply();
    require(!paused);
    require(_mintAmount > 0);
    require(_mintAmount <= maxMintAmount);
    

    if (msg.sender != owner()) {
        if(whitelisted[msg.sender] != true) {
          require(msg.value >= cost * _mintAmount);
        }
    }

    for (uint256 i = 1; i <= _mintAmount; i++) {
      _safeMint(_to, supply + i);
    }
  }

几天来,我一直试图弄清楚如何将以太币转换为我自己的 erc20 代币,并且一直在谷歌搜索,但找不到任何东西。 如果有人有任何想法,他们可以分享或链接以将我指向正确的方向,我们将不胜感激!

提前致谢

为此,您应该在您的 ERC721 合约中实施 ERC20。

我建议首先从 openzeppelin 导入 ERC20 文件,然后创建一个 ERC20 变量,该变量将指向您现有的 ERC20 令牌。 像这样的东西:

ERC20 token = ERC20('address to your desired ERC20 Token');

然后,您将能够使用“balanceOf”、“approve”和“transferFrom”函数与 msg.sender 的 ERC20 代币余额进行交互。

希望您发现此信息有用:)

你找到解决方案了吗? 我有自己的 ERC20 代币

我也想创建 ERC721,所以我也想用我的代币在我的 ERC721 上铸造、销售、购买。 但我不知道如何编辑 smartcontract.sol 只接受我的令牌而不是以太

暂无
暂无

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

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