所以我的朋友们正在制作 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 对象。
先感谢您!-哲学水獭