NFT 能否拥有基于智能合约变量值更新的元数据?

Posted

技术标签:

【中文标题】NFT 能否拥有基于智能合约变量值更新的元数据?【英文标题】:Can an NFT have metadata that updates based on smart contract variable values? 【发布时间】:2021-12-06 01:02:56 【问题描述】:

谁能解释一下 NFT 元数据的存储方式(链上和链下示例?)以及 Opensea 或 Decentlraland 等应用程序如何调用它?

此外,将动态元数据用于 NFT 是否特别具有挑战性,它会根据不断变化的智能合约变量定期更新,而这些变量本身会因用户与智能合约的交互而发生变化?例如。想象一个可更新的“倒计时”NFT,其中 jpeg 显示整数“直到 X 的天数”的图片,它随着时间的推移每天更新,但也可以根据 NFT 智能联系人中的 X 变化进行更新......这是在发现但实际上是一个有趣的想法? :)

这可行吗?是否存在存储挑战?应用会重复调用元数据,还是只调用一次就不会反映更新?

【问题讨论】:

【参考方案1】:

据我了解,您通常会在 erc721 合同中设置 baseURI。然后,如果您有一个自动递增的令牌 ID。第一个标记将是 baseURI 加“1”。

换句话说: baseURI: "https://myserver.com/api/metadata", 令牌ID:1

令牌元数据托管在https://myserver.com/api/metadata/1

这会从链中占用一些存储空间,如果每个令牌都有自己唯一的 url,它会在链中添加一些不必要的垃圾。

【讨论】:

以上是关于NFT 能否拥有基于智能合约变量值更新的元数据?的主要内容,如果未能解决你的问题,请参考以下文章

手把手教你区块链java开发智能合约nft-第五篇(铸造第一个NFT)

如何获取特定智能合约的所有 NFT

基于Hardhat编写合约测试用例

如何判断 RSK 上的智能合约是不是为 NFT?

第124篇 NFT市场智能合约

第124篇 NFT市场智能合约