ERC721。如何使用 erc721 标准添加与 属性 相关的附加信息

ERC721. How to add additional information related to property using erc721 standard

我对 ERC721 令牌标准没有太多经验,目前我正在开发一个房地产 DAPP。我有个问题。如果我想添加与特定 属性 相关的外部信息,如位置、价格、属性 号码等,每次如果有新的 属性 注册,最好的方法是什么..?但我不想用 solidity Struct,是否可以扩展 ERC721 Metadata Interface Contract?或任何其他解决方案??

我几乎尝试了所有方法,但我觉得我遗漏了什么。

如果要将数据存储在链上,mapping (uint256 => Property),其中 uint256 是代币 ID,Property 是“struct(location, price, .. .)",包含数据可能是最便宜的 gas-wise 选项。

但由于您的问题表明您不想使用结构,您可以选择使用一系列映射将数据存储在链上:

mapping (uint256 => string) tokenIdToLocation;
mapping (uint256 => uint64) tokenIdToUsdPrice;
// etc.

您还可以决定将数据存储在链外,并link从您的合约到此存储。在这种情况下,您将实现 ERC721Metadata 接口的 tokenURI() 函数(均在 ERC-721 standard 中定义)。 tokenUri() 将 return 链下资源的(字符串)URL,您可以在其中显示(链下)数据。