首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ERC721标准-您应该在传递给构造函数的名称和符号参数中传递什么?

ERC721标准-您应该在传递给构造函数的名称和符号参数中传递什么?
EN

Ethereum用户
提问于 2022-01-27 07:39:05
回答 2查看 2.3K关注 0票数 3

我对ERC721标准感到困惑。我们将名称和符号传递给构造函数。他们代表什么?在源代码中,它只是标记名称和令牌符号。

它们是NFT的名称和符号吗?(NFT有唯一的名称和符号吗?)

  • 如果是这样的话,那么使用该合同的NFT不是都有相同的名称和符号吗?
  • 在哪里指定它所属的集合的名称?

或者它们也是NFT所属集合的名称和符号?因此,在我部署契约之后,每个NFT我的薄荷都有这个集合名称和符号。

  • 我在看OpenSea上的NFT合同-- 链接 --它的名称和符号是它所属的集合(Kitty (KCG))。

这是来自[医]开泽平的示例代码。构造函数位于第8行。

代码语言:javascript
复制
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol";

contract GameItem is ERC721URIStorage {
    using Counters for Counters.Counter;
    Counters.Counter private _tokenIds;

    constructor() ERC721("GameItem", "ITM") {} // constructor is here <---------------------

    function awardItem(address player, string memory tokenURI)
        public
        returns (uint256)
    {
        _tokenIds.increment();

        uint256 newItemId = _tokenIds.current();
        _mint(player, newItemId);
        _setTokenURI(newItemId, tokenURI);

        return newItemId;
    }
}

另外,NFT必须是集合的一部分吗?当我去OpenSea时,似乎没有单独的NFT。只有收藏品。

EN

回答 2

Ethereum用户

回答已采纳

发布于 2022-01-27 14:36:52

首先,谈论"ERC-721构造函数“的”名称和符号“不是一件事。标准中没有指定构造函数。

我们必须将这个问题理解为“ERC-721的OpenZeppelin合同实施的名称和符号意味着什么?”

ERC-721的namesymbol特性在ERC-721规范中定义。

代码语言:javascript
复制
    /// @notice A descriptive name for a collection of NFTs in this contract
    function name() external view returns (string _name);

    /// @notice An abbreviated name for NFTs in this contract
    function symbol() external view returns (string _symbol);

此外,还提供了进一步的动力:

我们在元数据扩展中有必需的名称和符号函数。我们审查的每一个标志EIP和草案(ERC-20、ERC-223、ERC-677、ERC-777、ERC-827)都包括这些功能。我们提醒实现作者,如果反对使用该机制,空字符串是对名称和符号的有效响应。我们还提醒大家,任何智能合同都可以使用与您的合同相同的名称和符号。客户端如何确定哪些ERC-721智能合同是众所周知的(规范),不属于本标准的范围。

票数 4
EN

Ethereum用户

发布于 2022-01-27 11:55:06

ERC-721在很大程度上扩展了ERC-20。ERC-20可以具有像namesymbol这样的属性,例如链接(链接)。在ERC-721中,它是相似的,只是它是合同中所有NFT的名称和符号。此外,每个NFT还将有一个唯一的tokenIdnamesymbol可以被视为表示集合。

如果您只想要一个NFT,您可以将总供应量定义为1。但是通常情况下,NFT是作为一个集合来创建的,尽管ERC-721合同中有一些单个NFT的例子。

票数 2
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/120062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档