智能合约 ERC721 - 将所有代币铸造到合约地址

Smart contract ERC721 - Mint all tokens to contract address

是否可以在部署合约后立即将所有代币铸造到合约地址?

我有一个 collection 的 100 个 NFT,这些 NFT 需要在 OpenSea 中的 collection 地址下立即可见,但我看到 NFT 只有在被铸造到钱包地址时才会出现在那里。 我最初的想法是将所有内容都铸造到所有者的地址,以便所有 NFT 都可以在 collection...

下使用

知道如何实施吗?

您可以在部署期间铸造代币,合约地址可通过address(this)表达式获得。

pragma solidity ^0.8;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";

contract MyCollection is ERC721 {
    constructor() ERC721("CollectionName", "Symbol") {
        // mint 100 tokens to the contract address on deployment
        for (uint i = 1; i <= 100; i++) {
            _mint(address(this), i);
        }
    }
}

这取决于 OpenSea 和其他市场的实施,它们是否接受在部署时铸造的此类 NFT - 或者它们是否不识别这些令牌。