[英]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.