【问题标题】:Where is the owner of an nft is stored?nft 的所有者存储在哪里?
【发布时间】:2021-11-28 23:01:42
【问题描述】:

我知道 nft 正在通过智能合约在区块链中进行铸造。但是所有者钱包存储在哪里?并且更改所有者还需要额外的智能合约?

【问题讨论】:

    标签: smartcontracts nft


    【解决方案1】:

    每个代币的所有者地址都存储在其收集合约中。

    ERC-721 标准仅定义所有者应可通过调用 ownerOf() 函数检索,并将令牌 ID 作为唯一参数传递给它。它没有定义应该如何准确地存储信息。

    但许多实现使用mapping。例如 OpenZeppelin implementation:

    mapping(uint256 => address) private _owners;
    
    function ownerOf(uint256 tokenId) public view virtual override returns (address) {
        address owner = _owners[tokenId];
        require(owner != address(0), "ERC721: owner query for nonexistent token");
        return owner;
    }
    

    更改所有者需要额外的智能合约?

    假设收集合约遵循标准,它可以通过从所有者(非合约)地址执行任何转移函数来更改代币所有者(即转移代币)。

    所以它不需要额外的智能合约来转移代币。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-07
      • 2019-12-21
      • 1970-01-01
      • 2016-05-17
      • 2013-12-01
      • 1970-01-01
      • 2012-05-11
      相关资源
      最近更新 更多