如何在铸币功能不可用时将 ERC20 硬币生成到 NFT 市场
How to generate ERC20 coins into an NFT Marketplace when mint function is not available
免责声明:我已经学习区块链和区块链安全 2 周了。如果我遗漏了一些基本概念,请轻轻指出正确的方向。谢谢!
我有一个 NFTMarketPlace 智能合约,它在构造函数中接受 ERC20、ERC721 和 AccessControlEnumerable 抽象合约的内存地址。
constructor(
address governance,
address erc20token,
address nftToken
) {
require((governance != address(0)) && (erc20token != address(0)) && (nftToken != address(0)), "NFTMarketplace: address(0)");
ApeCoin = IERC20(erc20token);
NFTcollection = IERC721(nftToken);
ADMIN_ROLE = keccak256("ADMIN_ROLE");
ADMIN_ROLE_ADMIN = keccak256("ADMIN_ROLE_ADMIN");
_setRoleAdmin(ADMIN_ROLE, ADMIN_ROLE_ADMIN);
_setupRole(ADMIN_ROLE_ADMIN, governance);
_setupRole(ADMIN_ROLE, governance);
}
我使用 Remix IDE 并将 3 个抽象合约部署到 3 个内存地址,并将这些地址提供给上述构造函数。
但是ERC20的totalsupply为0,并没有编码mint函数
在这种情况下,NFTMarketplace 合约应该有效吗? (由于没有货币流通)
我想铸造硬币,将其转移给少数用户,创建 NFT 集合并执行市场操作以了解过程中的安全状况。
如果您使用的是 openzeppelin 合约,此答案将会有所帮助。
ERC20 合约在 this location, click here
有内部方法 _mint
继承ERC20合约后,您需要在自己的合约中添加总供应量和铸币量的功能。
查看下面的代码部分:
contract ERC20FixedSupply is ERC20 {
constructor() ERC20("Fixed", "FIX") {
_mint(msg.sender, 1000);
}
}
可以找到详细的教程at this link
免责声明:我已经学习区块链和区块链安全 2 周了。如果我遗漏了一些基本概念,请轻轻指出正确的方向。谢谢!
我有一个 NFTMarketPlace 智能合约,它在构造函数中接受 ERC20、ERC721 和 AccessControlEnumerable 抽象合约的内存地址。
constructor(
address governance,
address erc20token,
address nftToken
) {
require((governance != address(0)) && (erc20token != address(0)) && (nftToken != address(0)), "NFTMarketplace: address(0)");
ApeCoin = IERC20(erc20token);
NFTcollection = IERC721(nftToken);
ADMIN_ROLE = keccak256("ADMIN_ROLE");
ADMIN_ROLE_ADMIN = keccak256("ADMIN_ROLE_ADMIN");
_setRoleAdmin(ADMIN_ROLE, ADMIN_ROLE_ADMIN);
_setupRole(ADMIN_ROLE_ADMIN, governance);
_setupRole(ADMIN_ROLE, governance);
}
我使用 Remix IDE 并将 3 个抽象合约部署到 3 个内存地址,并将这些地址提供给上述构造函数。
但是ERC20的totalsupply为0,并没有编码mint函数
在这种情况下,NFTMarketplace 合约应该有效吗? (由于没有货币流通)
我想铸造硬币,将其转移给少数用户,创建 NFT 集合并执行市场操作以了解过程中的安全状况。
如果您使用的是 openzeppelin 合约,此答案将会有所帮助。
ERC20 合约在 this location, click here
有内部方法_mint
继承ERC20合约后,您需要在自己的合约中添加总供应量和铸币量的功能。
查看下面的代码部分:
contract ERC20FixedSupply is ERC20 {
constructor() ERC20("Fixed", "FIX") {
_mint(msg.sender, 1000);
}
}
可以找到详细的教程at this link