0

过去几周我一直在努力解决的问题:

我正在创建一个 NFT 集合,你可以在我的 d-app 上创建一个 NFT。图像文件将存储在 pinata 上。我不希望人们能够访问像 ipfs://FOLDER_CIT/[token_ID].png 这样的 URL,并且能够在 NFT 图像被铸造之前看到它。大多数在线解决方案要么不讨论这个问题,要么只是采取一次公开所有NFT 的方法,但我只想公开每个 NFT 的铸造。

我意识到我不能在前端有某种“秘密”URL,因为前端代码是完全可见/可修改的,而且我也不能在智能合约中真正做到这一点,因为智能合约(一旦验证),在 Etherscan 上可见。

我能想出的最佳解决方案如下:

一开始不要上传任何东西到 IPFS,但是有一个像 ipfs://FOLDER_CID/[token_OD] 这样的方案

当地址成功铸造 NFT 时,获取该令牌 ID,并将其发送到 node.js 服务器。node.js 服务器然后将通过 pinata npm 模块将相应的图像上传到正确的 ipfs://FOLDER_CIT/[token_ID].png。它还将上传正确的元数据。

这似乎很好,但问题是我希望能够逐步验证。2 向 REST API 发送请求的人实际上是令牌的合法所有者,并且他们发送到我的服务器的令牌 ID 实际上已经被铸造了。我不希望某个随机的人向我的服务器发送 POST 请求说“嘿,显示 ID 为 623 的令牌图像,谢谢!”。

有没有办法通过某种 API 来检查他们发送的交易 ID?还是我想太多了?

非常感谢你!

4

0 回答 0