创建了我的第一份合同,并查看了开放齐柏林飞艇向导。我注意到它包括一个Counters.Counter private _tokenIdCounter;,它跟踪标记的数量。当我添加可枚举库时,当现在有一个似乎跟踪相同值的totalSupply变量时,它仍然在代码中包含这个片段。
问:为什么包括_tokenIdCounter,这和totalSupply变量有什么区别吗?似乎totalSupply可以正常工作,我应该删除_tokenIdCounter。
发布于 2021-10-08 05:50:33
从表面上看,它们的声音可能是一样的。
每个NFT通常都有一个唯一的ID,计数器用于将下一个可用ID分配给新的NFT。只要创建了NFT,这就与totalSupply密切相关。
但是,如果有烧录NFT的功能,计数器不会减少(因为通常不应该重用if ),但是totalSupply会下降。
此外,我不确定是否需要这样的功能,但至少在理论上可以有两个ID相同的not -在这种情况下,计数器也不能与totalSupply同步。
发布于 2022-01-21 01:31:07
应该没有区别,因为totalSupply只是返回枚举令牌数组的长度,它是烧伤后减少,并在mint上递增。
https://ethereum.stackexchange.com/questions/111242
复制相似问题