0

我对与solidity相关的主题很陌生,我正在寻求公开发售nfts,我正在寻找的是在WBNB中以固定价格出售nfts,我的问题如下:我应该为nfts 和其他出售?

我的想法是:创建 nft 合约,使用名为 purchase 的公共函数,允许根据选择的 nft 类型在 WBNB 中付款,并在付款后 _mint 到 nft。

有没有更好的方法来解决这个问题?

我给你一个购买功能的摘录,其余的对于erc721合约来说是正常的

    function purchaseStadium (uint8 _stadiumType) public payable {
    require(!paused(), "Stadium sales not available");
    require(stadiumQty[_stadiumType] > 0, "There are no such stadiums left");
    require(addressPurchases[msg.sender] < maxPurchasesPerAccount, "You reached the maximum number of purchased stadiums");
    if(_stadiumType == 0){
        require(msg.value >= moonPrice);
        payable(msg.sender).transfer(msg.value - moonPrice);
    } else if(_stadiumType == 1){
        require(msg.value >= marsPrice);
        payable(msg.sender).transfer(msg.value - marsPrice);
    } else if(_stadiumType == 2){
        require(msg.value >= chaosPrice);
        payable(msg.sender).transfer(msg.value - chaosPrice);
    }
    
    addressPurchases[msg.sender] += 1;

    stadiumQty[_stadiumType] -= 1;

    tokenId.increment();
    _safeMint(msg.sender, tokenId.current());
}
4

0 回答 0