【发布时间】:2022-01-21 17:42:47
【问题描述】:
所以我的朋友们正在制作 NFT 合约并使用 IPFS 来存储元数据。 我想查看生成的 IPFS 链接中包含的 JSON,以便可以在 Bootstrap 卡中显示元数据。 当我使用此代码调用浮出水面的合约函数之一时:
const tokenContract = new ethers.Contract(nftaddress, NFT.abi, provider);
const nft = await tokenContract.tokenURI(1);
console.log("nft:", nft);
我得到了这个输出,所以我可以看到合约中的函数调用有效:
nft: ipfs://Qmchgm5...GLnGMk
但是当我尝试将该 IPFS 链接转换为 JSON 格式时(正如我在访问链接 URL 时看到的那样),这不起作用并引发此错误:
console.log('nft:', nft.json());
// TypeError: nft.json is not a function
谁能解释为什么将链接放入我的浏览器可以显示 JSON,但尝试从链接中读取它却不能?我认为这是 IPFS 的一些基本功能,但我找不到任何东西(这对我来说很有意义,完全是新手)告诉我这个功能以及如何在我的代码中读取 IPFS 对象。
提前感谢您! -PhilosophOtter
【问题讨论】:
-
您的
nft变量只包含 ipfs 端点。您需要使用 js-ipfs 模块来获取该端点的内容。 Ww 将需要有关您尝试检索的 JSON 是什么的更多信息。 -
只是试图检索图像、名称、描述等......其他人放入 IPFS 数据的元数据。我想通过它进行映射并制作引导卡
标签: ethereum solidity ipfs js-ipfs