I have deployed an NFT collection here and have set the tokenURI of the ERC721 contract using the below code.
var tokenURI = await bento_collection.tokenURI(1, {from: accounts[1]});
console.log("Token URI is " + tokenURI);
The output of the code, for token #1 is:
Token URI is http://sushibento.club/sushis/1
This URL leads to metadata, which should be picked up by Opensea. If you go to the URL in a browser, you can see that valid JSON is given by the URL:
{"name":"Sushi #1", "description":"Fresh Sushi Bento Club Sushi Character #1. The owner of this asset also owns the full commercial rights of the image itself and the original rights in the metaverse.", "image":"https://sushibento.club/assets/img/egg.png", "external_url":"https://sushibento.club/assets/img/egg.png", "attributes":[{"trait_type":"Sushi Type","value":"Unhatched Sushi Egg"}]}
However, opensea is not picking up the metadata. I can see that it isn't because on the Opensea website, the placeholder image is still there, and the NFT attributes are not displayed. I have refreshed the metadata through their site a few times over the last few hours, but it has not yet worked.
I cannot check the metadata using their meta data validator, because it does not support the Polygon chain (No idea why). Why is my metadata not being picked up by opensea? Or is there something wrong with it.