0

背景:假设我想通过在区块链中查找数据来验证某条推文或某张图片的所有权。如果我的理解是正确的,我需要能够分配一个代表该推文/图片的唯一 tokenId。

问题1:这个ID的分配方式是否有一些标准化?不同的平台是否以独特的方式执行此映射?我觉得如果没有这样的标准化,不可替代性就会变得有问题(例如,你真的拥有这条推文,还是只有在应用你自己制作的推文->令牌 ID 映射时才拥有它?)。

问题 2:您能否提供一些示例,说明令牌 ID 是如何分配给某些(知名)NFT 的?

4

1 回答 1

1

关于如何分配此 ID 是否有一些标准化?

ERC-721标准明确指出没有分配 ID 的标准(数据类型除外)uint256

虽然一些 ERC-721 智能合约可能会发现从 ID 0 开始并为每个新的 NFT 简单地增加 1 很方便,但调用者不应假设 ID 号码具有任何特定的模式,并且必须将 ID 视为“黑匣子” ”。


例如,你真的拥有这条推文,还是只有在应用推文->令牌 ID 映射时才拥有它

令牌所有权并不意味着您拥有底层资源。这仅意味着您拥有令牌(代表资源)。


您能否提供一些示例,说明令牌 ID 是如何分配给某些(众所周知的)NFT 的?

  • CryptoKitties -链接,第 412 行,递增

    uint256 newKittenId = kitties.push(_kitty) - 1;
    
  • CryptoPunks -链接,第 73 和 83 行,分配由(授权)调用者设置的 ID

    mapping (uint => address) public punkIndexToAddress;
    
    function setInitialOwner(address to, uint punkIndex) {
        // ...
        punkIndexToAddress[punkIndex] = to;
    
于 2021-09-27T08:05:03.273 回答